2018年9月13日木曜日

defaultdict

pythonで、list = [(a,1.0),(a,2.0),(b,3.0),(c,4.0)] のようなデータがあったときに、

a = [1.0, 2.0]
b = [3.0]
c = [4.0]
と整形したい。

from collections import defaultdict を使うときれいにかけて、

dict = defaultdic(list)
for i in list:
   dict[i[0]].append(i[1])

とやると、a, b, cがkeyになった辞書ができあがる。
naiveにやると二重ループになってlistが巨大なときに大変だし予めソートかけておくのも回りくどいので。




0 件のコメント:

コメントを投稿