实现一
def f():
print("f begin")
for i in range(4):
print("f: ",i)
yield i
def hh(kk):
print("hh begin")
i=0
for ele in kk:
print("hh",i)
i+=1
yield ele
list(hh(f()))
输出
hh begin
f begin
f: 0
hh 0
f: 1
hh 1
f: 2
hh 2
f: 3
hh 3
对比
def f():
print("f begin")
for i in range(4):
print("f: ",i)
yield i
def hh(kk):
print("hh begin")
i=0
for ele in list(kk):
print("hh",i)
i+=1
yield ele
list(hh(f()))
输出
hh begin
f begin
f: 0
f: 1
f: 2
f: 3
hh 0
hh 1
hh 2
hh 3