我有以下字典结构.
product1 = {'product_tmpl_id': product_id,
'qty':product_uom_qty,
'price':price_unit,
'subtotal':price_subtotal,
'total':price_total,
}
然后是产品列表,列表中的每个项目都是具有上述结构的字典
list_ = [product1,product2,product3,.....]
我需要对列表中的项目进行汇总,并按关键字product_tmpl_id进行分组……我使用的是dictcollections,但它仅对qty关键字进行了汇总,我需要对除product_tmpl_id以外的关键字进行汇总,这是进行分组的标准
c = defaultdict(float)
for d in list_:
c[d['product_tmpl_id']] += d['qty']
c = [{'product_id': id, 'qty': qty} for id, qty in c.items()]
我知道如何通过for迭代来做到这一点,但是试图寻找一种更pythonic的方式
谢谢
编辑:
需要通过的是:
lst = [
{'Name': 'A', 'qty':100,'price':10},
{'Name': 'A', 'qty':100,'price':10},
{'Name': 'A', 'qty':100,'price':10},
{'Name': 'B', 'qty':100,'price':10},
{'Name': 'C', 'qty':100,'price':10},
{'Name': 'C', 'qty':100,'price':10},
]
对此
group_lst = [
{'Name': 'A', 'qty':300,'price':30},
{'Name': 'B', 'qty':100,'price':10},
{'Name': 'C', 'qty':200,'price':20},
]