2007-09-06

[メモ]defaultdictの引数はうまく使えば便利に違いない

defaultdictの引数には普通はintやfloatを入れるもんだが、"lambda :[0,0]"のような無名関数を入れることもできる。

>>> from collections import defaultdict
>>> a = defaultdict(lambda :[0,0])
>>> a["AA"]
[0, 0]
>>> a["AA"][0] += 1
>>> a
defaultdict(<function <lambda> at 0x2a95666938>, {'AA': [1, 0]})
>>> a["aa"][1] += 1
>>> a
defaultdict(<function <lambda> at 0x2a95666938>, {'AA': [1, 0], 'aa': [0, 1]})