def add(n,i):
return n+i
def test():
for i in range(4):
yield i
g=test()
'''执行过程
循环中 第一次循环 : g=(add(n,i) for i in test())
第二次循环: g=(add(n,i) for i in (add(n,i) for i in test()))
得到: g=(add(n,i) for i in (add(10,i) for i in [0,1,2,3]))
g=(add(n,i) for i in [10,11,12,13])); (add(10,i) for i in [0,1,2,3]就得到[10,11,12,13]
g=(add(10,i) for i in [10,11,12,13]));最后得到的结果就是[20,21,22,23]
'''
for n in [1,10]:
g=(add(n,i) for i in g)
print(list(g))
结果为:[10], [20] ,[10,100]
结果为:[10,100], [20] ,[10,100]
while循环模拟for循环