Skip to main content
 首页 » 编程设计

python之Python 中的意外列表行为

2025年05月04日16langtianya

我想反转列表,我设法做到了,但在工作中我发现了一些奇怪的事情。以下程序按预期工作,但取消了 list_reversed[i]=list[len(list)-1-i] 和 print(list[i]) 行(注释当然是最后一行)导致列表发生变化。我没看到什么?我的 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 作为变量名,因为它隐藏了 the builtin .