mathpython

広告

Pythonのジェネレーター

Python のジェネレーターは for 文のあるシーケンスです。丸かっこで表しますがタプルではありません。文法はリスト内包表記と同じです。

a = (i + 3 for i in range(5))

print(a)
# <generator object <genexpr> at 0x112560850>

for x in a:
    print(f'x = {x}')

# x = 3
# x = 4
# x = 5
# x = 6
# x = 7

a はタプルでなく generator となっています。ジェネレーターの各要素は for で取ります。

広告

ジェネレーター