python ジェネレータ (genexp)

リスト内表記っぽいけど、こちらは一つずつ要素を返すので、
パフォーマンスの向上が見込めるとか(range(),とxrange()の違いみたいなもんか)。
geneObj = (x for x in range(5))
for i in geneObj:
    print i

>>> 0
>>> 1
>>> 2
>>> 3
>>> 4

ifも使える。
geneObj = (x in x for in range(10) if x % 2 == 0)
for i in geneObj:
    print i

>>> 0
>>> 2
>>> 4
>>> 6
>>> 8

コメント

このブログの人気の投稿

Python SQLite スレッド間でコネクションの使いまわしは出来ない

slackでgeneralの投稿を全削除する

Google location history(JSON形式)をCSVファイルにする