Python基於yield遍歷多個可迭代物件

2022-09-29 17:48:14 字數 773 閱讀 9404

使用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迴圈可用於任何 可迭代物件 這其實就是迭代器 迭代器是乙個實現了迭...