rma*_*ues 1 python behavior list
我想要反转一个列表,我设法这样做,但在工作的中间我发现了一些奇怪的东西.以下程序按预期工作,但是不可见的行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])
Run Code Online (Sandbox Code Playgroud)
下列:
list_reversed = list
Run Code Online (Sandbox Code Playgroud)
使两个变量引用相同的列表.当你换一个时,它们都会改变.
要制作副本,请使用
list_reversed = list[:]
Run Code Online (Sandbox Code Playgroud)
更好的是,使用内置函数而不是编写自己的函数:
list_reversed = reversed(list)
Run Code Online (Sandbox Code Playgroud)
PS我建议不要使用list变量名,因为它会影响内置.
| 归档时间: |
|
| 查看次数: |
593 次 |
| 最近记录: |