擅长:python、mysql、java
<p>只需构造一个中间默认字典,它使您能够在线性时间内完成此操作。最后转换回所需的结构。你知道吗</p>
<pre><code>inp = [
{'name': 'John', 'hobbies': ['Reading', 'Swimming']},
{'name': 'Gina', 'hobbies': ['Skating', 'Cooking']},
{'name': 'John', 'hobbies': ['Gardening', 'Swimming']}
]
from collections import defaultdict
temp = defaultdict(set)
for d in inp:
temp[d['name']].update(d['hobbies'])
result = [{'name':k, 'hobbies': list(v)} for k, v in temp.items()]
</code></pre>
<p>输出:</p>
<pre><code>[{'name': 'John', 'hobbies': ['Gardening', 'Reading', 'Swimming']},
{'name': 'Gina', 'hobbies': ['Cooking', 'Skating']}]
</code></pre>