2010-04-20から1日間の記事一覧

教科書的な物

メモ Dive Into Python 3 日本語版

yieldについて

yieldはイテレータを返すと覚えていたけど、 StopIterationまで行くと破棄されるみたい? 余り意識していなかったので下のような例に違和感があった。 >>> def test4(): ... a = iter([1,2,3]) # ちょっと違和感ある所 ... while True: ... yield next(a) ..…

zipについて

>>> z1 = zip([1,2,3,4]) >>> z2 = zip([1,2,3,4],[5,6,7,8]) >>> z3 = zip([1,2,3,4],[5,6,7,8],[9,10,11,12]) >>> >>> [i for i in z1] [(1,), (2,), (3,), (4,)] >>> [i for i in z2] [(1, 5), (2, 6), (3, 7), (4, 8)] >>> [i for i in z3] [(1, 5, 9), …

ディクショナリの各キーに複数の値を割り当てる

これ色々使えそうなのでメモしとこ # ディクショナリにListを入れて追加している # valueの重複は許している d1 = {} d1.setdefault(key,[]).append(value) # ディクショナリにディクショナリを入れて追加している # valueの重複は許さない # getした後なら…