如何解决合并列表中具有相同值的两个或多个对象
我想用相同的moment
枚举值合并列表中的两个或更多对象,并将value
添加到我们自己。如果我写一个例子会更好:
输入:
[Credit(value=111,moment=<CreditMoment.APP: 'APP'>),Credit(fee_value=222,Credit(value=444,moment=<CreditMoment.OFFER: 'OFFER'>)]
预期结果:
[Credit(value=333,moment=<CreditMoment.OFFER: 'OFFER'>)]
如您现在所见,预期列表包含2个元素,第一个元素组合了value=333
元素来自此类:
class CreditMoment(str,AutoNameEnum):
APP= auto()
OFFER = auto()
COMPLETION = auto()
解决方法
这样会有所帮助。
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()]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。