Python 可迭代对象 iterable 详解与使用指南

一只小鹿
一只小鹿
发布时间:2026-10-15 | 5人浏览过
原创

本文深入解析 Python 中的可迭代对象(iterable)。介绍如何通过 for...in 遍历列表、元组及字典等数据结构,阐述判断对象是否可迭代的方法(如 isinstance 与 Iterable 类)。同时详解 enumerate 函数的索引-元素对生成机制及多嵌套列表的解包技巧,帮助开发者掌握高效的数据遍历方式。

前置知识

若存在列表(list)或元组(tuple),可利用 for 循环对其进行遍历操作,该过程在编程术语中被称为迭代(Iteration)。

在 Python 语言体系中,迭代操作主要依赖 for ... in 语法结构来实现。


lists = [1, 2, 3, 4, 5]
for i in lists:
    print(i)

可迭代对象

for 循环的应用范围不仅限于列表或元组,还扩展至其他各类可迭代对象。尽管列表具备下标索引特性,但许多其他数据类型并不支持下标访问;然而,只要对象满足可迭代条件,无论是否支持下标,均能通过迭代方式访问。


dicts = {
    "a": 1,
    "b": 2
}
for i in dicts:
    print(i)

# 输出结果
a
b

如何判断一个对象是否是可迭代对象?


from collections import Iterable

lists = [1, 2, 3, 4, 5]

dicts = {
    "a": 1,
    "b": 2
}

print(isinstance(lists, Iterable))
print(isinstance(dicts, Iterable))
print(isinstance({"test"}, Iterable))
print(isinstance(1234, Iterable))

# 输出结果
True
True
True
False

enumerate 函数

在遍历列表时,默认情况下仅返回元素值。若需同时获取元素值及其对应的下标索引,可使用 enumerate 函数。该函数能将列表转换为包含索引与元素对的迭代对象,随后即可对该对象进行循环遍历。


lists = [1, 2, 3, 4, 5]

# 看看是不是迭代对象
print(isinstance(enumerate(lists), Iterable))

# 循环
for ind, val in enumerate(lists):
    print(ind, val)

# 输出结果
True
0 1
1 2
2 3
3 4
4 5

多嵌套列表


for x, y in [(1, 1), (2, 4), (3, 9)]:
    print(x, y)

# 输出结果
1 1
2 4
3 9

总结

所有可迭代对象均可用于 for 循环,涵盖用户自定义的数据类型。只要满足迭代条件,即可应用 for 循环进行遍历操作。

至此,关于 Python 可迭代对象 iterable 的具体使用介绍完毕。如需了解更多相关 Python 可迭代对象 iterable 内容,建议查阅本站历史文章或继续浏览后续相关文章,期待大家持续支持本站!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表