開始使用免費開始

產生器推導式(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)
編輯並執行程式碼