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

Python 反转一组列表元素并将其存储到列表中?,python,python-2.7,list,reverse,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] 你可以这样做: l = [1,5,4,3,2,6] index5 = l.index(5) index2 = l.index(2) l[index5:index2+1] = l[index2:index5-1:-1] 如果希望它更明确,可以使用反向: l[i

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

例如:

list = [1,5,4,3,2,6]
反转5…2,输出将为:

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

你可以这样做:

l = [1,5,4,3,2,6]
index5 = l.index(5)
index2 = l.index(2)
l[index5:index2+1] = l[index2:index5-1:-1]
如果希望它更明确,可以使用
反向

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

您可以使用“列表切片指定”,它可以就地修改列表:

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

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

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

您可以将列表的切片反向重新分配给同一切片

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

这不是OP想要的。我发现
l[1:5]=reversed(l[1:5])
读起来更好,但原则上是一样的。
l[4:0:-1]
l[1:5][:::-1]
效率更高,因为它只会创建一个新列表。@eugeney我考虑过这样做,但我认为索引相同更好。不管是谁否决了这个答案,你能解释为什么吗?我没有否决,但可能是因为它只适用于具有唯一元素的列表。不像其他建议的答案那样是一个通用的解决方案。我真的很震惊:(得到了很多反对票!为什么?不要使用
list
作为变量名,你会隐藏一个内置的。