Skip to main content
 首页 » 编程设计

python之解释pythonic表[n :m] where m does not mean x-th element

2025年05月04日12youxin

我一次又一次地犯这个错误,range(3)[1:2] 不返回 [1,2] 而返回 [1]。有人可以解释这里的逻辑扭曲吗?为什么 m 和 n 不是指具有相同逻辑的第 x 个元素?

请您参考如下方法:

切片和范围是一对数字:要包含的第一个元素,然后是不包含的第一个元素。通过这样做,您可以获得一些不错的好处。首先,切片的长度是end-start。其次,切片 [x:y] 和 [y:z] 将很好地结合在一起而不会重复 y。

最近在 Python-Ideas 上挑战此设计的线程:http://mail.python.org/pipermail/python-ideas/2010-October/008187.html

Edsger Dykstra 以他独特的风格写了这篇文章:http://www.cs.utexas.edu/users/EWD/ewd08xx/EWD831.PDF ,这也说明了为什么第一个元素是 [0]。