使用itertools工具類中的chain方法,可以很方便的將多個iterable物件一起遍歷. 不過,對於dict型別的iterable物件,只會遍歷ke程式設計客棧y.
from itertools import chain
my_list = [1, 2, 3]
my_dict = 程式設計客棧
# 使用chain將三個可迭代物件一起遍歷, dict是列印key
for value in chain(my_list, my_dict, range(20, 30)):
print(value, end=",") # 1,2,3,name,age,20,21www.cppcns.com,22,23,24,25,26,27,28,29,
下面自定義乙個my_chain,用於實現上面的功能
dewww.cppcns.comf my_chain(*args, **kwargs):
"""注意: args是乙個tuple, tuple是乙個可迭代物件"""
for iterable_obj in args:
for value in iterable_obj:
yield value
for value in my_chain(my_list, my_dict, range(20, 30)):
print(value, end=",") # 1,2,3,name,age,20,21,22,23,24,25,26,27,28,29,
本文標題: python基於yield遍歷多個可迭代物件
本文位址:
yield的用法詳解 基於Python
接下來是正題 首先,如果你還沒有對yield有個初步分認識,那麼你先把yield看做 return 這個是直觀的,它首先是個return,普通的return是什麼意思,就是在程式中返回某個值,返回之後程式就不再往下執行了。看做return之後再把它看做乙個是生成器 generator 的一部分 帶y...
關於Python中的yield
在介紹yield前有必要先說明下python中的迭代器 iterator 和生成器 constructor 一 迭代器 iterator 在python中,for迴圈可以用於python中的任何型別,包括列表 元祖等等,實際上,for迴圈可用於任何 可迭代物件 這其實就是迭代器 迭代器是乙個實現了迭...
關於Python中的yield
在介紹yield前有必要先說明下python中的迭代器 iterator 和生成器 constructor 一 迭代器 iterator 在python中,for迴圈可以用於python中的任何型別,包括列表 元祖等等,實際上,for迴圈可用於任何 可迭代物件 這其實就是迭代器 迭代器是乙個實現了迭...