zoukankan      html  css  js  c++  java
  • 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,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,

                                   

  • 相关阅读:
    Spark基础
    flink杂记
    算法
    算法小结
    Java内存模型
    LeetCode---Backtracking && DP
    LeetCode---Sort && Segment Tree && Greedy
    LeetCode---Depth-first && Breadth-first
    LeetCode---Bit Manipulation && Design
    MD5
  • 原文地址:https://www.cnblogs.com/z-qinfeng/p/12109749.html
Copyright © 2011-2022 走看看