擅长:python、mysql、java
<p>您可以使用<code>itertools.grouper</code>按id进行分组,并使用<code>collections.defaultdict</code>将具有相同键的值组合到列表中</p>
<pre><code>from itertools import groupby
from collections import defaultdict
id_getter = lambda x: x['id']
gp = groupby(sorted(raw_list, key=id_getter), key=id_getter)
out = []
for _,i in gp:
subdict = defaultdict(list)
for j in i:
for k,v in j.items():
subdict[k].append(v)
out.append(dict(subdict))
out
</code></pre>
<p>使用复杂的数据类型,如嵌套列表和字典,我建议真正使用<code>collections</code>和<code>itertools</code>提供的API</p>