yield笔试题
def add(a, b):
return a + b
def test():
for r in range(4):
yield r
g = test()
g = (add(10, i) for i in (add(10, i) for i in g))
print(list(g))
def test():
for i in range(4):
yield i
g = test() # 初始化生成器对象
for n in [1, 10]:
g = (add(n, i) for i in g)
"""
第一次for循环
g = (add(n, i) for i in g)
第二次for循环
g = (add(10, i) for i in (add(10, i) for i in g))
生成器表达式内部的代码只有在迭代取值的时候才会执行
而在for循环中,取值是不确定的,以最后一次for循环为主
"""

浙公网安备 33010602011771号