我在python 2.7中遇到了一个关于.sort()命令的奇怪的事情。
解释我将使用简单的代码 -
A = [1,3,2]
B = A
B.sort()
print A
在这段代码中我创建了一个非排序列表A,然后我将该列表复制到B中,排序B并打印A. 出于某种原因,当我打印A时,我得到一个排序列表[1,2,3],即使我在B上使用了sort命令。
另一方面,如果我写下面的代码 -
A = [1,3,2]
B = A
B[1] = 123
print A
它打印A应该 - [1,3,2]
如果有人可以提出解释,那么它会很棒 感谢
答案 0 :(得分:0)
这与sort()
无关。
B = A
现在B和A是同一个列表对象的两个不同名称或引用。
您可以通过调用id()
并确认它为两个名称重复相同的值来确认这一点。
如果您想要列表的副本,请执行以下操作:
B = list(A)