ディクショナリの各キーに複数の値を割り当てる
これ色々使えそうなのでメモしとこ
# ディクショナリにListを入れて追加している # valueの重複は許している d1 = {} d1.setdefault(key,[]).append(value) # ディクショナリにディクショナリを入れて追加している # valueの重複は許さない # getした後なら分かるのだけれど # 少し違和感なのがsetの結果から更に追加してる所 # set関数でも結果がリターンされるからこういう書き方もできるんだな d2 = {} d2.setdefault(key,{})[value] = 1 # ディクショナリに集合を入れて追加している # valueの重複は許さない d3 = {} d3.setdefault(key, set()).add(value)
クックブックから引用
集合型ってディクショナリ型と初期化が同じで紛らわしいな
でもぜんぜん使い方違うし動きも違う