擅长:python、mysql、java
<p>我相信有一个更巧妙的方法可以做到这一点,但这是我想到的</p>
<pre><code>def combineDicts(old):
from itertools import groupby
new = []
for k,g in groupby(l, lambda i: i['delim_type']):
d = {'delim_type':k}
d['arcana_list'] = ', '.join(i['arcana_list'] for i in g)
new.append(d)
return new
</code></pre>
<p>测试</p>
<pre><code>>>> old = [
{'delim_type': '', 'arcana_list': 'Life 3'},
{'delim_type': ' and/or ', 'arcana_list': 'Mind 3'},
{'delim_type': ' and/or ', 'arcana_list': 'Prime 3'},
]
>>> combineDicts(old)
[{'arcana_list': 'Life 3', 'delim_type': ''},
{'arcana_list': 'Mind 3, Prime 3', 'delim_type': ' and/or '}]
</code></pre>