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索引。
➡️

继续阅读