Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Tại sao cắt chuỗi với index ngoài phạm vi vẫn hoạt động trong Python?

Cắt (slicing) ngoài giới hạn của một sequence (ít nhất là built-ins) không gây ra lỗi. Indexing trả về một mục đơn lẻ, nhưng slicing trả về một subsequence các mục. Vì vậy khi bạn cố gắng index một giá trị không tồn tại, không có gì để trả về; nhưng khi bạn slice một sequence ngoài giới hạn, bạn vẫn có thể trả về một sequence rỗng. Ví dụ:

>>> s = [1, 2, 3]
>>> s[5:8]
[]

Nhưng nếu bạn chỉ sử dụng index ngoài giới hạn, nó sẽ báo lỗi:

>>> s = [1, 2, 3]
>>> s[5]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range