擅长:python、mysql、java
<pre><code>import collections
merged_result = collections.defaultdict(list)
for L in listoflistsofdicts:
for d in L:
for k in d:
merged_result[k].append(d[k])
</code></pre>
<p>或者如果你只是有一个dict列表而不是一个dict列表(很难说从你的Q!-),然后</p>
^{pr2}$
<p>循环的一部分。在</p>
<p>如果您希望字符串而不是列表作为<code>merged_result</code>的值,那么在上面的代码之后添加</p>
<pre><code>for k in merged_result:
merged_result[k] = ', '.join(merged_result[k])
</code></pre>
<p>或者,等效地(但是构建一个新的普通dict而不是defaultdict):</p>
<pre><code>merged_result = dict((k, ', '.join(v)) for k, v in merged_result.iteritems())
</code></pre>
<p>(这假设Python2.*在Python3中,使用<code>.items</code>而不是{<cd3>})。在</p>
<p><strong>编辑</strong>:查看示例代码,对于dict列表(缺少逗号)来说,它似乎是无效的语法,所以我也演示了如何处理它。在</p>