You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Python中这两个列表切片语句的输出结果不同?

Python列表切片结果差异的原因

Python里的列表切片遵循[起始索引:结束索引:步长]的规则,核心要点是结束索引是「排他」的——切片会包含起始索引对应的元素,但只会取到结束索引之前的元素,不会包含结束索引本身的元素。

结合你的例子具体分析:

  • 原列表my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]的索引从0开始计数,元素10对应的索引是9。
  • 语句list1 = my_list[1:9:2]:起始索引为1(对应元素2),结束索引为9(对应元素10),步长为2。因为结束索引是排他的,切片只会取索引小于9的元素,也就是索引1、3、5、7对应的2, 4, 6, 8,自然不会包含索引9的10。
  • 语句list2 = my_list[1::2]:这里省略了结束索引,Python会默认切片到列表的最后一个元素(包含最后一个),所以会取索引1、3、5、7、9对应的2, 4, 6, 8, 10。

内容的提问来源于stack exchange,提问作者essesoul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 01:55:18