Python 合并列表中具有相同值的两个或多个对象

Python 合并列表中具有相同值的两个或多个对象,python,itertools,Python,Itertools,我想将列表中的两个或多个对象与相同的时刻枚举值合并,并将值添加到我们自己的列表中。如果我写一个例子会更好: 输入: [Credit(value=111, moment=<CreditMoment.APP: 'APP'>), Credit(fee_value=222, moment=<CreditMoment.APP: 'APP'>), Credit(value=444, moment=<CreditMoment.OFFER: 'OFFER'>)] [Cred

我想将列表中的两个或多个对象与相同的
时刻
枚举值合并,并将
添加到我们自己的列表中。如果我写一个例子会更好:

输入:

[Credit(value=111, moment=<CreditMoment.APP: 'APP'>), Credit(fee_value=222, moment=<CreditMoment.APP: 'APP'>), Credit(value=444, moment=<CreditMoment.OFFER: 'OFFER'>)]
[Credit(value=333, moment=<CreditMoment.APP: 'APP'>), Credit(value=444, moment=<CreditMoment.OFFER: 'OFFER'>)]

像这样的东西会有帮助

dic = {}
for credit in lis:
    # Will create a dict that willh have moment value as key and sum all the values
    dic[credit.moment.value] = dic.get(credit.moment.value, 0) + credit.value

# Now recreate the list

[Credit(value=v, moment=x) for x,v in dic.items()]

我可以问一下您从列表中从何处获得这些项目吗?是的,这些对象来自这个类:```类CreditMoment(str,AutoNameEnum):APP=auto()OFFER=auto()```Meh。。我无法正确格式化它
dic = {}
for credit in lis:
    # Will create a dict that willh have moment value as key and sum all the values
    dic[credit.moment.value] = dic.get(credit.moment.value, 0) + credit.value

# Now recreate the list

[Credit(value=v, moment=x) for x,v in dic.items()]