擅长:python、mysql、java
<p>一个简单的解决方案,假设所有dicts的键都相同:</p>
<pre><code>ld = [{'language': 'de', 'suggestion': 'fressen', 'comment': 'for animals'},
{'language': 'de', 'suggestion': 'essen', 'comment': ''},
{'language': 'fr', 'suggestion': 'manger', 'comment': ''},
{'language': 'fr', 'suggestion': 'bouffer', 'comment': 'slang'}]
langs = {i['language'] for i in ld}
d = []
for lang in langs:
d.append({"language": lang})
for key in ld[0].keys() - ["language"]:
d[-1][key] = [i[key] for i in ld if i["language"] == lang]
print(d)
</code></pre>
<p>输出:</p>
^{pr2}$
<hr/>
<p>如果您选择使用@FMc在他对您的问题的评论中描述的数据结构,那么您可以使用这条长长的一行代码,用嵌套的理解来做任何事情:</p>
^{3}$
<p>输出:</p>
<pre><code>{'de': {'essen': '', 'fressen': 'for animals'},
'fr': {'bouffer': 'slang', 'manger': ''}}
</code></pre>