始める無料で始める

ジェネレーター内包表記

次のジェネレーター関数が与えられています(コンソールで試せます):

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)
コードを編集して実行