
在Python入门阶段,我们掌握了列表、字符串、元组等序列类型的基础取值方式(如索引),但面对批量取值、高效遍历等场景时,基础方法会显得繁琐。切片(Slice) 和迭代(Iteration) 是Python特有的高级特性,也是Python代码“简洁、高效、优雅”的核心体现——切片能让你用一行代码完成序列的批量取值/修改,迭代能让你无需关心底层索引,轻松遍历任意可迭代对象。
本节将系统讲解切片与迭代的核心用法,结合实战场景拆解使用技巧,让你彻底掌握这两个提升代码效率的关键特性:
- 切片:基础语法、序列通用操作、进阶用法(步长、逆序、赋值)与实用场景;
- 迭代:可迭代对象、for循环迭代、内置迭代工具(enumerate/zip)、自定义可迭代对象;
- 实战案例:整合切片与迭代实现数据批量处理、序列重组。
文章目录
- 一、切片:序列类型的灵活取值
-
- 1. 切片的基础语法
-
- 核心规则
- 2. 基础切片操作(列表/字符串/元组)
-
- 示例1:基础范围切片(默认步长=1)
- 示例2:负数索引切片(从右往左取值)
- 3. 切片的进阶用法:步长与逆序
-
- 示例1:指定步长间隔取值
- 示例2:切片赋值(仅可变序列支持,如列表)
- 4. 切片的实用场景
- 二、迭代:遍历可迭代对象的高效方式
-
- 1. 核心概念:可迭代对象与迭代器
-
- 示例:判断可迭代对象 & 转换为迭代器
- 2. 基础迭代:for循环遍历可迭代对象
-
- 示例1:遍历列表/字符串/元组(序列类型)
- 示例2:遍历字典(特殊的可迭代对象)
- 示例3:遍历数字范围(range对象)
- 3. 内置迭代工具:enumerate & zip
-
- 工具1:enumerate(带索引的迭代)
- 工具2:zip(多序列同步迭代)
- 4. 自定义可迭代对象(进阶)
- 5. 迭代的实用场景
- 三、实战案例:切片+迭代整合应用
-
- 1. 案例1:批量处理日志数据(切片+迭代)
- 2. 案例2:序列数据分页展示(切片+迭代)
- 四、总结
- 五、专栏订阅
一、切片:序列类型的灵活取值
切片是Python为列表、字符串、元组等序列类型提供的批量取值/修改机制,相比逐个索引取值,切片更简洁、高效,且支持灵活的范围选择。
1. 切片的基础语法
切片的核心是通过“起始索引:结束索引:步长”的格式,从序列中截取指定范围的元素,语法如下:
# 通用语法:seq[start:end:step]
# start:起始索引(包含,默认0)
# end:结束索引(不包含,默认序列长度)
# step:步长(每次移动的步数,默认1,负数表示逆序)
核心规则
- 索引支持正数(从左到右,0开始)和负数(从右到左,-1开始);
- 切片结果是新的序列对象,不会修改原序列(除非直接赋值);
- 超出序列长度的索引不会报错,会自动截断。
2. 基础切片操作(列表/字符串/元组)
切片是序列类型的通用特性,列表、字符串、元组的切片用法完全一致,以下以列表为核心示例

