在序列范围之外进行切片(至少对于内置片段而言)不会导致错误。索引返回单个项目,但切片返回项目的子序列。因此,当您尝试为不存在的值建立索引时,没有任何返回值。但是当您在边界之外对序列进行切片时,您仍然可以返回空序列。例如:
>>> s = [1, 2, 3] >>> s[5:8] []
但是,如果您只是使用索引超出范围,则会给您一个错误:
>>> s = [1, 2, 3] >>> s[5] Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: list index out of range