1. 程式人生 > 程式設計 >Python基於yield遍歷多個可迭代物件

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

使用itertools工具類中的chain方法,可以很方便的將多個iterable物件一起遍歷. 不過,對於dict型別的iterable物件,只會遍歷key.

from itertools import chain
my_list = [1,2,3]
my_dict = {
  'name': 'zs','age': 45
}
# 使用chain將三個可迭代物件一起遍歷,dict是列印key
for value in chain(my_list,my_dict,range(20,30)):
  print(value,end=",") # 1,3,name,age,20,21,22,23,24,25,26,27,28,29,

下面自定義一個my_chain,用於實現上面的功能

def 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,

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。