我有以下代码,我想知道为什么它返回相同的列表而不是副本:
x = [2,1,3]
y = x
y.sort()
print y
print x
Run Code Online (Sandbox Code Playgroud)
为什么这会返回相同的排序列表?
因为它是就地修改的.
Python列表具有引用语义,这意味着当您将列表分配给另一个变量时,它们实际上指向同一个列表.
如果要复制,请执行以下操作:
x = [2,1,3]
y = x[:]
y.sort()
print y
print x
Run Code Online (Sandbox Code Playgroud)
该切片符号确实会导致列表(在这种情况下,整个列表,但你可以做一个小的修改,要求特定的子表)被复制.
归档时间: |
|
查看次数: |
126 次 |
最近记录: |