我想颠倒一个列表,我成功地做到了,但在工作的过程中我发现了一些奇怪的事情。以下程序按预期工作,但未注释行list_reversed[i]=list[len(list)-1-i] and 打印(列表[i])(评论最后一行当然)导致了改变list。我没看到什么?我的Python版本是3.3.3。先感谢您。
list=[1,2,3,4,5,6]
list_reversed=list
for i in range(0,len(list)):
#list_reversed[i]=list[len(list)-1-i]
#print(list[i])
print(list[len(list)-1-i])
下列:
list_reversed = list
使两个变量引用同一个列表。当你改变其中之一时,它们都会改变。
要制作副本,请使用
list_reversed = list[:]
更好的是,使用内置函数而不是编写自己的函数:
list_reversed = reversed(list)
附:我建议不要使用list
作为变量名,因为它隐藏内置的 http://docs.python.org/2/library/functions.html#list.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)