考虑到有一个包含多个词典的列表,共享相同的键.
data = [{'count': 3, 'os': 'Windows'},
{'count': 2, 'os': 'Windows'},
{'count': 5, 'os': 'Linux'},
{'count': 1, 'os': 'Linux'}]
Run Code Online (Sandbox Code Playgroud)
如何总结自己的价值观?预期:
data = [{'count': 5, 'os': 'Windows'},{'count': 6, 'os': 'Linux'}]
Run Code Online (Sandbox Code Playgroud)
import itertools
data = [
{'count': 3, 'os': 'Windows'},
{'count': 2, 'os': 'Windows'},
{'count': 5, 'os': 'Linux'},
{'count': 1, 'os': 'Linux'}
]
results = []
for key, val in itertools.groupby(data, lambda v: v['os']):
count = sum(item['count'] for item in val)
results.append({'count' : count, 'os' : key})
>>> results
>>> [{'count': 5, 'os': 'Windows'}, {'count': 6, 'os': 'Linux'}]
Run Code Online (Sandbox Code Playgroud)