擅长:python、mysql、java
<p>dict的setdefault方法查找一个键,如果找到就返回值。如果未找到,则返回默认值,并将该默认值分配给键。在</p>
<pre><code>super_dict = {}
for d in dicts:
for k, v in d.iteritems():
super_dict.setdefault(k, []).append(v)
</code></pre>
<p>您也可以考虑使用dict。这只是通过在找不到键时调用函数返回默认值来自动执行setdefault。在</p>
^{pr2}$
<p>另外,正如svenmarnach敏锐地观察到的,您似乎不希望列表中的值重复。在这种情况下,set可以得到您想要的:</p>
<pre><code>import collections
super_dict = collections.defaultdict(set)
for d in dicts:
for k, v in d.iteritems():
super_dict[k].add(v)
</code></pre>