Python中的可迭代对象包括列表、元组、字符串、字典、集合、文件对象、生成器及自定义迭代器等,这些对象可通过循环结构(如
for
-
基础序列类型
- 列表(List):有序可变集合,支持索引与切片操作,常用于存储同类型数据的动态序列。
- 元组(Tuple):不可变有序集合,适用于存储固定数据(如配置参数),因不可变性更安全。
- 字符串(String):字符序列,支持逐字符遍历,常用于文本处理与模式匹配。
-
无序容器类型
- 字典(Dict):默认迭代键(plaintext复制),也可通过
keys
plaintext复制迭代键值对,适用于键值关联数据的高效查询。items()
- 集合(Set):无序唯一元素集合,常用于去重和集合运算(如并集、交集)。
- 字典(Dict):默认迭代键(
-
特殊功能对象
- 文件对象:逐行读取文本文件时,文件对象通过迭代返回每行内容,避免一次性加载大文件至内存。
- 生成器(Generator):通过plaintext复制关键字实现惰性计算,仅在需要时生成值,显著节省内存,适合处理海量数据流。
yield
-
自定义可迭代对象
通过实现plaintext复制方法或返回迭代器的__iter__()
plaintext复制方法,可将类定义为可迭代对象。例如,创建数据分批次加载的迭代器,适配机器学习中的批量训练场景。__next__()
提示:使用可迭代对象时需注意其与迭代器的区别——迭代器(如生成器)具有状态且只能单向遍历,而可迭代对象(如列表)可多次从头遍历。合理选择类型可提升代码效率与可维护性。