Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เหตุใดดัชนีการแบ่งสตริงย่อยที่อยู่นอกช่วงจึงใช้งานได้ใน Python


การแบ่งส่วนนอกขอบเขตของลำดับ (อย่างน้อยสำหรับบิวด์อิน) จะไม่ทำให้เกิดข้อผิดพลาด การทำดัชนีจะส่งกลับรายการเดียว แต่การแบ่งส่วนจะส่งกลับรายการรองของรายการ ดังนั้นเมื่อคุณพยายามสร้างดัชนีค่าที่ไม่มีอยู่ จะไม่มีการคืนค่าใดๆ แต่เมื่อคุณแบ่งซีเควนซ์นอกขอบเขต คุณยังสามารถส่งคืนลำดับที่ว่างเปล่าได้ ตัวอย่างเช่น:

>>> 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