產生器推導式(generator comprehension)
你會拿到以下產生器函式(你可以在主控台中測試它們):
def func1(n):
for i in range(0, n):
yield i**2
def func2(n):
for i in range(0, n):
if i%2 == 0:
yield 2*i
def func3(n, m):
for i in func1(n):
for j in func2(m):
yield ((i, j), i + j)
請注意,func3() 內部會呼叫 func1() 與 func2()。
本練習屬於課程
Python 程式面試題實作練習
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Rewrite func1() as a generator comprehension
gen = ____
for item in zip(gen, func1(10)):
print(item)