Py学习  »  Python

python:为什么复制b=list(a)的列表后id会改变?

David • 6 年前 • 2586 次点击  

假设以下代码:

a = [1,2,3]
b = list(a)
print(id(b) == id(a))

这就产生了:

False

我希望两个列表在复制后具有相同的ID。为什么不呢 身份证和 ?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38541
文章 [ 2 ]  |  最新文章 6 年前
Chris
Reply   •   1 楼
Chris    6 年前

您可能还会发现这一点很有用:

Python variables - behind the scenes

它展示了Python如何管理变量。

iz_
Reply   •   2 楼
iz_    6 年前

list 创建参数的新副本。它期望一个iterable,并将iterable的所有元素消耗到 新的 名单。

如果您需要引用同一列表的其他引用/名称,只需使用赋值而不调用 列表 .

a = [1,2,3]
b = a
print(id(b) == id(a))  # True