我已经使用 Python 好几个月了,但是今天早上当我阅读一个列表问题时我变得非常困惑。当您将列表附加到另一个列表或将列表分配给另一个列表时,答案是谈论“列表的引用”,这让我很困惑(很多)。
有人可以向我解释列表/列表引用是如何工作的吗?
你在说:
>>> a = b = []
>>> a.append(2)
>>> print a
[2]
>>> print b
[2]
之所以如此,是因为它们都引用了同一个对象。id(a) == id(b)
(或a is b
),因此添加到其中的任何内容都会添加到另一个中。
要解决此问题,您可以制作 a 的副本,它不是完全相同的对象,a
但具有相同的内容:
>>> a = []
>>> b = a[:]
>>> a.append(2)
>>> a
[2]
>>> b
[]
您还可以打印一个组合列表:不确定这是否有帮助。我会查看 python wiki,因为他们有更详细的列表和字典摘要。
a = []
b = []
a.append(15)
print(a)
#[15]
b.append(16)
print(b)
#[16]
print(a+b)
#[15, 16]