无法从循环蟒蛇的列表中获取值

  • 本文关键字:列表 获取 循环 python
  • 更新时间 :
  • 英文 :


我有一个空列表,然后我正在创建一个循环链接并尝试按索引获取此列表,但得到 IndexError。为什么会这样?我应该有可能永远获得这个列表吗?如何从此列表中获取价值?

>>> a = []
>>> a = [a]
>>> len(a[0])
0
>>> a[0][0]
IndexError: list index out of range

你的列表不是循环的,它只是一个列表中的空列表。

>>> a = []
>>> a = [a]
>>> a
[[]]
>>> len(a)
1
>>> a[0]
[]
>>> len(a[0])
0

您似乎对作业的工作方式有误解。a = [a]首先计算右侧([[]](,然后将名称a绑定到该值。

您可以通过以下方式获得循环列表

>>> a = []
>>> a.append(a)
>>> a
[[...]]

当然它有长度一,因为a只有一件事:a

>>> len(a)
1

发生这种情况是因为初始a为空。在代码的第二行之后,您有:

a=[[]].因此,a[0] = [],即一个空列表。a[0][0]正在尝试访问空列表中的元素,这就是您看到错误的原因。

最新更新