列表中的省略号[…]是什么意思?

我在玩python。我在IDLE中使用了以下代码:


p  = [1, 2]

p[1:1] = [p]

print p

输出为:


[1, [...], 2]

这是[…]什么 有趣的是,我现在可以将其用作无穷大列表的列表,即


p[1][1][1]....

我可以根据需要编写以上内容,并且仍然可以使用。

  • 它在内存中如何表示?

  • 有什么用?在某些情况下有用的示例可能会有所帮助。

  • 任何与官方文档的链接都将非常有用。


MM们
浏览 427回答 3
3回答

守候你守候我

这意味着您创建了一个嵌套在其内部的无限列表,该列表无法打印。p包含p其中包含p...,依此类推。这种[...]记法是一种让您知道这一点并告知它无法表示的方式!看看@ 6502的答案,可以看到一张很好的图片,显示正在发生的事情。现在,关于编辑后的三个新项目:这个答案似乎涵盖了它Ignacio的链接描述了一些可能的用途与编程语言相比,这更是数据结构设计的主题,因此不太可能在Python的官方文档中找到任何参考。

莫回无

这是您的代码创建的它是一个列表,其中第一个和最后一个元素指向两个数字(1和2),中间的元素指向列表本身。在Common Lisp中,当启用打印圆形结构时,此类对象将被打印为#1=#(1 #1# 2)表示存在一个对象(用标记为1 #1=),该对象是具有三个元素的向量,第二个是对象本身(用反向引用#1#)。取而代之的是,在Python中,您仅获得结构为圆形的信息[...]。在这种特定情况下,描述不是模棱两可的(它向后指向一个列表,但是只有一个列表,因此它一定是那个列表)。但是在其他情况下可能是模棱两可的...例如[1, [2, [...], 3]]向后引用可以指向外部列表,也可以指向内部列表。可以用以下方式创建以相同方式打印的这两种不同结构x = [1, [2, 3]]x[1][1:1] = [x[1]]y = [1, [2, 3]]y[1][1:1] = [y]print(x)print(y)他们会像
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python