我想把一张单子倒过来,我成功地做到了,但在工作的中途,我发现了一些奇怪的东西。下面的程序按预期工作,但未符合条件的行list\u reversed[i]=list[len(list)-1-i]和print(list[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
成为指向同一列表的新名称。你可以在这个网站上看到很多关于这个的问题,一些列在右边的相关问题中。在以下内容:
使两个变量引用同一个列表。当你改变一个,它们都会改变。在
要复制,请使用
^{pr2}$更好的是,使用内置函数而不是编写自己的函数:
另外,我建议不要使用
list
作为变量名,因为它隐藏了the builtin。在当您这样做时:
您不需要创建
^{pr2}$list
的副本,而是创建一个新的名称(变量),该名称(变量)引用了以前的列表。您可以通过添加:相关问题 更多 >
编程相关推荐