python defaultdictでdefault valueにrandom値をセットする

変な使い方かもしれませんが、sparse featureに対してランダムに重みを初期化するときなどに便利、、、だと思う。
lambda万歳。

In [10]: import random
In [11]: from collections import defaultdict
In [12]: d = defaultdict(lambda: random.random())
In [13]: d['a']
Out[13]: 0.8680511728147858
In [14]: d['b']
Out[14]: 0.1019257362096414
In [15]: d['c']
Out[15]: 0.27965160383899557
In [16]: d['a']
Out[16]: 0.8680511728147858
In [17]: d['b']
Out[17]: 0.1019257362096414
In [18]: d['b'] = 1.0
In [19]: d['b']
Out[19]: 1.0

タグ:

python
最終更新:2015年01月30日 01:05