a = [1,2,3]
a = a + [a]
Print(a)
>>> [1,2,3,1,2,3]
a = [1,2,3]
a.append[a]
Print (a)
>>>[1,2,3,[...]]
答案 0 :(得分:1)
由于[a]
创建了另一个列表并将其添加到列表中,但是a.append(a)
将相同的列表附加到自身列表中,并且该列表是循环的,请查看示例:
In [19]: id(a)
Out[19]: 139994593696008
In [20]: id([a])
Out[20]: 139994605200520
答案 1 :(得分:1)
因为+
创建了一个新对象,而append
只是附加到原始对象上。如果将列表附加到其自身,则存在一个循环。
>>> a = [12]
>>> id(a)
4337923136
>>> a = a + [a]
>>> id(a)
4338091360
>>> a
[12, [12]]
>>> a.append(a)
>>> id(a)
4338091360
>>> a
[12, [12], [...]]
>>>