Python列表切片详解:正向、反向索引与步长用法
本文深入解析Python中列表(List)的切片操作机制。详细讲解正向索引从0开始、反向索引以-1结尾的规则,涵盖仅设头下标、仅设尾下标及同时设置头尾下标的三种截取模式。此外,还介绍了引入步长参数实现隔值截取的方法,并通过完整代码示例展示具体输出结果,帮助开发者准确掌握列表数据提取技巧。
列表(List)是Python中使用频率极高的数据类型,熟练掌握列表操作对于深入理解Python编程至关重要。
列表中的元素值支持修改,具备可变性特征。
列表的定义格式灵活,其中的元素可以是字符串、数字、布尔值等多种类型。
#Author:LJZ
list=['123','abc',0,True]
for i in range(4):
x=list[i]
print(x)
运行上述代码后的输出结果如下:
123 abc 0 True
接下来重点介绍列表的截取操作,该操作中涉及若干关键细节,下文将逐一总结。

需注意:列表的正向索引下标从0开始计数,而非1;反向索引则结束于-1,而非0。
截取操作的基本格式定义如下:
变量名[起始下标:结束下标]
正向索引场景(索引序列为01234...)
1. 仅指定起始下标i并保留冒号:表示从索引为i的元素开始截取,直至列表末尾。
2. 仅指定结束下标i并保留冒号:表示从列表开头一直截取至索引为i-1的元素。
3. 同时指定起始下标i和结束下标j:表示从索引i开始截取,直至索引为j-1的元素。
具体代码示例如下:
#Author:LJZ list=['123','abc',0,True] x=list[1:] y=list[:3] z=list[2:3] print(x) print(y) print
程序运行结果如下:
['abc', 0, True] ['123', 'abc', 0] [0]
反向索引场景(索引序列为......-2-1)
1. 仅指定起始下标i并保留冒号:表示从索引为i的元素开始截取,直至列表末尾。
2. 仅指定结束下标i并保留冒号:表示从列表开头一直截取至索引为i-1的元素。
3. 同时指定起始下标i和结束下标j:表示从索引i开始截取,直至索引为j-1的元素。
具体代码示例如下:
#Author:LJZ list=['123','abc',0,True] x=list[-3:] y=list[:-2] z=list[-3:-1] print(x) print(y) print(z)
程序运行结果如下:
['abc', 0, True] ['123', 'abc'] ['abc', 0]
引入步长的截取方式:
前述截取方式均未涉及步长参数。若希望每隔固定数量的元素进行截取,可采用带有步长参数的截取语法。
带步长的截取格式定义如下:
变量名[起始下标:结束下标:步长值]
例如,若要从第三个元素截取到第五个元素,并设置步长为2,则实际截取的是索引对应的第3个和第5个元素,中间的第4个元素将被跳过。
具体代码示例:
#Author:LJZ list=['123','abc',0,True,"12345"] x=list[1:4:2] print(x)
程序运行结果:
['abc', True]
补充说明:Python列表截取的分解解析。
#!/usr/bin/env python #coding:utf8 list1 = [ 'tzh', 786 , 2.23, 'thz2', 70.2 ] list2 = [123, 'tzh'] print list1 # 输出完整列表list1 print list1[0] # 输出列表list1的第一个元素 print list1[1:3] # 输出list1第二个至第三个的元素 print list1[2:] # 输出list1从第三个开始至列表末尾的所有元素 print list2 * 2 # 输出列表list2两次 print list1 + list2 # 打印组合的列表list1,list2
以上为个人经验总结,希望能为大家提供参考,也希望大家多多支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









