我正在尝试通过以下方式使用 reverse() 方法:
>>> L=[1,2,3]
>>> R=L
>>> L.reverse()
>>> L
[3, 2, 1]
>>> R
[3, 2, 1]
Run Code Online (Sandbox Code Playgroud)
为什么它也会反转 R?如何保留原始列表并创建反向列表?
谢谢!
您需要复印一份清单
L=[1,2,3]
# R=L
R = L[:]
L.reverse()
Run Code Online (Sandbox Code Playgroud)
或者更直接(使用切片符号反转):
R = L[::-1]
Run Code Online (Sandbox Code Playgroud)
如果你只是写R = L那么R只是同一列表上的新参考L。
如果您还需要复制列表中的元素,请使用copy.deepcopy; R = L[:]只产生一个浅拷贝(在列表中只有ints 的情况下这很好)。