前置常识
假如给定一个 list 或 tuple,咱们能够经过 for 循环来遍历这个 list 或 tuple,这种遍历咱们称为迭代(Iteration)
在 Python 中,迭代是经过 for ... in 来完结的
lists = [1, 2, 3, 4, 5] for i in lists: print(i)
可迭代目标
for 循环不只能够用在 list 或 tuple 上,还能够用在其他可迭代目标上
list 这种数据类型虽然有下标,但许多其他数据类型是没有下标的,可是只需是可迭代目标,不管有无下标,都能够迭代
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 函数能够把 list 变成一个 索引-元素对的迭代目标,然后循环遍历这个目标即可
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内容请查找脚本之家曾经的文章或持续阅读下面的相关文章期望我们今后多多支撑脚本之家!