黑马程序员技术交流社区
标题:
Python中为什么切片和区间会忽略最后一个元素
[打印本页]
作者:
zcy50314399
时间:
2018-10-6 13:49
标题:
Python中为什么切片和区间会忽略最后一个元素
本帖最后由 zcy50314399 于 2018-10-6 13:54 编辑
在切片和区间操作里不包含区间范围的最后一个元素是 Python 的风格,这个习惯符合Python、C 和其他语言里以 0 作为起始下标的传统。这样做带来的好处如下。
当只有最后一个位置信息时,我们也可以快速看出切片和区间里有几个元素:range(3) 和my_list[:3]都返回3 个元素。
当起止位置信息都可见时,我们可以快速计算出切片和区间的长度,用后一个数减去第一个下标(stop - start)即可。
这样做也让我们可以利用任意一个下标来把序列分割成不重叠的两部分,只要写成my_list[:x] 和my_list[x:]就可以了,如下所示。
>>> l =[10, 20, 30, 40, 50, 60]
>>> l[:2]#
在下标
2
的地方分割
[10, 20]
>>> l[2:]
[30, 40, 50, 60]
>>> l[:3]#
在下标
3
的地方分割
[10, 20, 30]
>>> l[3:]
[40, 50, 60]
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2