我在蟒蛇玩耍.我在IDLE中使用了以下代码:
p = [1, 2]
p[1:1] = [p]
print p
Run Code Online (Sandbox Code Playgroud)
输出是:
[1, [...], 2]
Run Code Online (Sandbox Code Playgroud)
这是什么[…]?有趣的是,我现在可以将其用作无限列表列表,即
p[1][1][1]....
Run Code Online (Sandbox Code Playgroud)
只要我愿意,我就可以写上面的内容,但它仍然有用.
编辑:
编辑:我原来的例子里不小心.当我A向自己添加列表时,而不是当我向其自身添加包含列表的列表时,行为不会发生.请参阅下面的更正示例.AA
我试图理解省略号列表([...]在列表引用自身时出现和出现的列表)如何在Python 2中工作.
特别是,我想知道为什么,如果A是a list,A = A + A似乎对A += A(和A.append(A))的工作方式不同.
也就是说,你为什么得到:
>>> a = [1, 2]
>>> a = a + [a]
>>> a
[1, 2, [1, 2]]
Run Code Online (Sandbox Code Playgroud)
与
>>> a = [1, 2]
>>> a += [a]
>>> a
[1, 2, [...]]
Run Code Online (Sandbox Code Playgroud)
(注意,a.append(a)就像后者一样,对我来说似乎有用.)
如果它有助于澄清事情,那么关于这个省略号列表现象的任何其他更一般的信息也将非常受欢迎.