Python .sort()命令是否作为指针?

时间:2015-10-17 13:16:29

标签: list python-2.7 sorting

我在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]

如果有人可以提出解释,那么它会很棒 感谢

1 个答案:

答案 0 :(得分:0)

这与sort()无关。

B = A

现在B和A是同一个列表对象的两个不同名称或引用。

您可以通过调用id()并确认它为两个名称重复相同的值来确认这一点。

如果您想要列表的副本,请执行以下操作:

B = list(A)