擅长:python、mysql、java
<p>您还可以使用嵌套的defaultdict和<a href="https://docs.python.org/2/library/functions.html#zip" rel="nofollow">^{<cd1>}</a>,如下所示:</p>
<pre><code>d = defaultdict(lambda: defaultdict(int))
for k, v in zip(list1, list2):
d[k][v] += 1
# d['TH']['th']: 1
# d['O']['o']: 2
</code></pre>
<p>或者,如果要保留数据结构:</p>
<pre><code>d = defaultdict(dict)
for k, v in zip(list1, list2):
d[k][v] = d[k].get(v, 0) + 1
# use dict.get(key, default=None) and specify an appropriate default value (0)
</code></pre>
<p>使用<a href="https://docs.python.org/2/library/stdtypes.html#dict.get" rel="nofollow">^{<cd2>}</a>可以访问公共<code>dict</code>的键值,这与defaultdict非常相似,但是,更新有点笨拙。</p>