列表切片超出索引

时间:2018-09-29 15:25:52

标签: python python-3.x list

>>> a = ["a", "b", "c", "d", "e", "f", "g", "h", "l"]
>>> a[30:]
[]
a[:30]
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'l']

这个问题可能真的很简单。但是,我试图理解此切片背后的逻辑。例如,当我们尝试通过索引到达元素时,它将给我们一个IndexError。

>>> a[12]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range

列表中共有9个元素。但是,我们可以使用大于8的任何数字。我们将不胜感激任何技术解释。

1 个答案:

答案 0 :(得分:1)

如果您看到像[i:j]这样的切片,那么这是有道理的,例如:“列出索引在ij之间的所有元素”。如果原始列表包含3个元素,i是5,j是7,则没有元素可以满足此要求,因此结果将是一个空列表。

实际上,该属性经常有用。