Skip to main content
 首页 » 编程设计

python之带字典的列表之计算所有键的值 (Python)

2025年05月04日17qq78292959

考虑到有一个包含多个字典的列表,它们共享相同的键。

data = [{'count': 3, 'os': 'Windows'}, 
        {'count': 2, 'os': 'Windows'}, 
        {'count': 5, 'os': 'Linux'}, 
        {'count': 1, 'os': 'Linux'}] 

如何总结他们的值(value)观?预期:

data = [{'count': 5, 'os': 'Windows'},{'count': 6, 'os': 'Linux'}] 

请您参考如下方法:

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'}]