Python列表切片详解:正向、反向索引与步长用法

Evan
Evan
发布时间:2026-10-12| 3人浏览过
原创

本文深入解析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

以上为个人经验总结,希望能为大家提供参考,也希望大家多多支持本站。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。