Python基于yield遍历多个可迭代对象

Acacia ·
更新时间:2024-11-14
· 552 次阅读

使用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,2,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, 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的用法实例分析python yield和Generator函数用法详解通过实例简单了解Python中yield的作用Python协程 yield与协程greenlet简单用法示例基于Python中的yield表达式介绍python使用yield压平嵌套字典的超简单方法python生成器/yield协程/gevent写简单的图片下载器功能示例



迭代 对象 yield Python

需要 登录 后方可回复, 如果你还没有账号请 注册新账号