>>> a = [1,2,3]
>>> b = [1,2]
>>> a.append(b)
>>> a
[1, 2, 3, [1, 2]]
>>> b
[1, 2]
>>> b.extend(a)
>>> b
[1, 2, 1, 2, 3, [...]]
>>> b[5]
[1, 2, 1, 2, 3, [...]]
这里的[...]
是什么?这让我很困惑。我的做法有什么问题?
有人可以澄清我的怀疑吗?
答案 0 :(得分:3)
您创建了一个循环引用。 a
包含b
引用的相同列表。通过b
扩展a
,b
现在包含对自身的引用。
Python使用...
显示这样的引用,而不是进入无限循环。打印b[5]
再次打印相同的对象,因此输出自然会再次相同。