by shigemk2

当面は技術的なことしか書かない

エキスパートPythonプログラミング ジェネレータ式

リスト内包表記と似た表現。
yieldを使ったシンプルなループや、イテレータのように動作するリスト内包表記は、積極的にジェネレータ式に置き換えるべきである。

iter = (x**2 for x in range (10) if x % 2 == 0)
for el in iter:
    print (el)

実行結果

0
4
16
36
64