码迷,mamicode.com
首页 > 其他好文 > 详细

yield的应用:多个可迭代对象联合遍历

时间:2019-12-27 23:55:08      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:对象   code   bsp   功能   itertools   ict   一个   div   注意   

使用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,

 

 

                               

yield的应用:多个可迭代对象联合遍历

标签:对象   code   bsp   功能   itertools   ict   一个   div   注意   

原文地址:https://www.cnblogs.com/z-qinfeng/p/12109749.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!