擅长:python、mysql、java
<p>与<code>collections.Counter</code>一起:</p>
<pre><code>>>> ctr = sum(map(Counter, d.values()), Counter())
>>> [ctr[x] for x in mylist]
[71, 11, 8, 12]
</code></pre>
<p>或:</p>
<pre><code>>>> [sum(e[k] for e in d.values()) for k in mylist]
[71, 11, 8, 12]
</code></pre>
<p>如果某些子目录可能缺少键,只需使用<code>e.get(k, 0)</code>。<code>Counter</code>解决方案不需要它,它默认提供零</p>
<p>嗯,既然你现在接受了<code>dict</code>结果解决方案</p>
<pre><code>>>> dict(sum(map(Counter, d.values()), Counter()))
{'age': 71, 'answ1': 11, 'answ2': 8, 'answ3': 12}
</code></pre>
<p>或者只是</p>
<pre><code>>>> sum(map(Counter, d.values()), Counter())
Counter({'age': 71, 'answ3': 12, 'answ1': 11, 'answ2': 8})
</code></pre>
<p>尽管这些密钥可能比所需的密钥更多,但如果数据中有更多的密钥</p>