假设以下代码:
a = [1,2,3]
b = list(a)
print(id(b) == id(a))
这产生为:
False
我希望复制后两个列表的ID相同。为什么 b 与 a 没有相同的ID?
答案 0 :(得分:4)
list
创建该参数的新副本。它期望一个可迭代对象,并将所有可迭代对象的元素消耗到一个 new 列表中。
如果您想要一个附加的引用/名称来引用相同的列表,只需使用赋值而不调用list
。
a = [1,2,3]
b = a
print(id(b) == id(a)) # True
答案 1 :(得分:0)