擅长:python、mysql、java
<p>有点复杂的解决方案,但是:</p>
<pre><code>>>> dicts = [{'language': 'de', 'suggestion': 'fressen', 'comment': 'for animals'},
... {'language': 'de', 'suggestion': 'essen', 'comment': ''},
... {'language': 'fr', 'suggestion': 'manger', 'comment': ''},
... {'language': 'fr', 'suggestion': 'bouffer', 'comment': 'slang'}]
>>> main_key = 'language'
>>> result_dict = dict()
>>> for d in dicts:
... for key, value in d.iteritems():
... if key == main_key:
... result_dict.setdefault(d[main_key], dict())[main_key] = value
... else:
... result_dict.setdefault(d[main_key], dict()).setdefault(key, list()).append(value)
...
>>> result_dict.values()
[{'comment': ['', 'slang'], 'language': 'fr', 'suggestion': ['manger', 'bouffer']}, {'comment': ['for animals', ''], 'language': 'de', 'suggestion': ['fressen', 'essen']}]
</code></pre>
<p>基于<code>main_key</code>值,我们将这个键上列表中的所有其他字典连接起来。在</p>