Why Do Python Lists Start Indexing from 0?
💡
原文英文,约400词,阅读约需2分钟。
📝
内容提要
Python使用0-based索引解决切片操作问题,简洁优雅。1-based索引需要闭区间或不优雅切片表示法。0-based索引具有优雅不变性,相邻切片结束索引等于下一个切片开始索引。Python选择0-based索引。
🎯
关键要点
- Python使用0-based索引进行切片操作,简洁优雅。
- 1-based索引需要闭区间或不优雅的切片表示法。
- 0-based索引具有优雅的不变性,相邻切片的结束索引等于下一个切片的开始索引。
- Guido van Rossum认为0-based索引在切片操作中更具优雅性。
- 使用0-based索引可以避免在切片时进行+1或-1的补偿。
- Python的切片表示法a[:n]和a[i:i+n]在0-based索引下非常美观。
- 1-based索引在切片时需要使用闭区间,导致表达不够优雅。
- Guido van Rossum受到半开区间优雅性的影响,最终选择了0-based索引。
➡️