我有一组数据,格式为字典列表如下:
data = [
{'name': 'A', 'tea':5, 'coffee':6},
{'name': 'A', 'tea':2, 'coffee':3},
{'name': 'B', 'tea':7, 'coffee':1},
{'name': 'B', 'tea':9, 'coffee':4},
]
我将尝试按照“名称”进行分组,并分别对“茶”和“咖啡”进行求和。
最终分组数据必须采用以下格式:
grouped_data = [
{'name': 'A', 'tea':7, 'coffee':9},
{'name': 'B', 'tea':16, 'coffee':5},
]
我尝试了一些步骤:
from collections import Counter
c = Counter()
for v in data:
c[v['name']] += v['tea']
my_data = [{'name': name, 'tea':tea} for name, tea in c.items()]
for e in my_data:
print e
上述步骤返回了以下输出:
{'name': 'A', 'tea':7,}
{'name': 'B', 'tea':16}
我只能对“茶”这个键进行求和,无法对“咖啡”这个键进行求和,你们能否帮忙解决这个问题,以获得分组数据格式。
Counter
?为什么不直接使用字典? - blacksitezip
函数 https://docs.python.org/3.4/library/functions.html#zip - Grynetsdf.to_dict
。 - cs95