• 生成器表达式


    生成器表达式
        生成器1.生成器会主动地执行任何一行代码
              2.生成器必须通过__next__来触发代码的运行
              
    列表生成式  例子:     """
    # res = [i for i in range(1,10) if i !=4 ]
    # print(res)
    # 结果:[1, 2, 3, 5, 6, 7, 8, 9]生成一个列表
    # for循环i 将1到10 的值逐个富裕到i  后面如果i不等于4  那么就剔除不要4然后选择变量接受
    """生成器表达式
    """
    res1 = (i for i in range(1,1000000)if i!=4)
    print(res1.__next__())
    #必须通过__next__来运行  拍一下出来一个
    
    """
    面试题 根据一下函数选择出正确的答案
    """
    def add (n,i):
        return n+1
    def test():
        for i in range(4):  #这时候的i  = 0
            yield i
    
    g = test()      # g=test的内存地址 给g 加括号就是调动这函数
    for n in [1,10]: #n = 10
        g=(add(n,i) for i in g) #i
    print(n)
    res=list(g)
    # 第一次for循环g=(add(n,i) for i in test())
    
        # 第二次for循环g=(add(n,i) for i in (add(n,i) for i in test()))
    
    """
    for i in (add(10,i) for i in test()):  会执行所有的生成器内部的代码
        add(n,i)
    
    答案:
    A. res = [10,11,12,13]
    B. res = [11,12,13,14]
    C. res = [20,21,22,23]
    D. res = [21,22,23,24]
    
    """
  • 相关阅读:
    秒杀多线程第十篇 生产者消费者问题 (续)
    平面最近点距离问题(分治法)
    阿里神马搜索算法实习生 二面
    37. Sudoku Solver
    52. N-Queens II(数个数)
    51. N-Queens
    89. Gray Code(公式题)
    22. Generate Parentheses(回溯)
    回溯总结
    40. Combination Sum II
  • 原文地址:https://www.cnblogs.com/yangxinpython/p/11191338.html
Copyright © 2020-2023  润新知