擅长:python、mysql、java
<p>我更喜欢戴夫的回答,但这里有个选择。</p>
<pre><code>from collections import defaultdict
d = defaultdict(lambda : defaultdict(int))
>>> d['a']['b'] += 1
>>> d
defaultdict(<function <lambda> at 0x652f0>, {'a': defaultdict(<type 'int'>, {'b': 1})})
>>> d['a']['b']
1
</code></pre>
<p><a href="http://tumble.philadams.net/post/85269428/python-nested-defaultdicts" rel="nofollow noreferrer">http://tumble.philadams.net/post/85269428/python-nested-defaultdicts</a></p>
<p>必须使用lambdas来实现内部默认的集合,这当然不太好,但显然是必要的。</p>