反转一组列表元素并将其存储到列表中?

时间:2017-01-18 21:11:56

标签: python python-2.7 list reverse

这个问题的逻辑或代码是什么? reverse()函数不带任何参数,list[::-1]也是相同的。如何以简单的方式做到这一点?

示例,给定:

list = [1,5,4,3,2,6]

反转5 ... 2,输出将为:

list = [1,2,3,4,5,6]

4 个答案:

答案 0 :(得分:3)

您可以使用列表切片分配,它可以就地修改列表:

>>> L = [1, 5, 4, 3, 2, 6]
>>> L[1:5] = L[4:0:-1]  
>>> L
[1, 2, 3, 4, 5, 6]

答案 1 :(得分:3)

您可以将列表的切片重新分配给相反的切片

l = [1,5,4,3,2,6]
l[1:5] = l[1:5][::-1]
print(l)
#[1, 2, 3, 4, 5, 6]

答案 2 :(得分:0)

你可以这样做:

l = [1,5,4,3,2,6]
index5 = l.index(5)
index2 = l.index(2)
l[index5:index2+1] = l[index2:index5-1:-1]

如果您希望它更明确,可以使用reversed

l[index5:index2+1] = reversed(l[index5:index2+1])

答案 3 :(得分:0)

编辑:对不起,我误解了你的问题。

>>> l = [1, 5, 4, 3, 2, 6]
>>> temp = l[1:5]
>>> temp.reverse()
>>> l[1:5] = temp
>>> l
>>> [1, 2, 3, 4, 5, 6]