令人困惑的列表行为

时间:2016-09-16 04:23:30

标签: python list

我在python中试验列表,发现以下令人困惑。

>>> a = [1, 2, 3, 4]
>>> A = [a]*3
>>> A
[[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]]
>>> a[2] = 45
>>> 
>>> A
[[1, 2, 45, 4], [1, 2, 45, 4], [1, 2, 45, 4]]
>>> A = a * 3
>>> A
[1, 2, 45, 4, 1, 2, 45, 4, 1, 2, 45, 4]
>>> a[2] = 3
>>> A
[1, 2, 45, 4, 1, 2, 45, 4, 1, 2, 45, 4]

首先,我这样乘以:A = [a]*3并更改了a的元素。 A已更改,因为它包含3个a引用。然后,我成倍增加:A = a*3并更改a的相同元素。现在,为什么A没有改变,假设它包含3个a的引用?

0 个答案:

没有答案