python元组求和_python-对元组中的相似元素求和

从this问题开始,我现在需要对整个元组中的相似条目(元组)求和.

因此,给定一个元组,例如:

T = (('a', 'b', 2),

('a', 'c', 4),

('b', 'c', 1),

('a', 'b', 8),)

对于第一个和第二个元素相同的所有元组,我想对第三个元素求和,否则,将其保留在原处.因此,我将得出以下元组:

(('a', 'b', 10),

('a', 'c', 4),

('b', 'c', 1),)

封闭的元组中元组的顺序(和求和)无关紧要.

我们正在处理元组,因此我们无法利用dict.get()之类的东西.如果我们走defaultdict路线:

In [1218]: d = defaultdict(lambda: defaultdict(int))

In [1220]: for t in T:

d[t[0]][t[1]] += t[2]

......:

In [1225]: d

Out[1225]:

defaultdict(>,

{'a': defaultdict(int, {'b': 10, 'c': 4}),

'b': defaultdict(int, {'c': 1})})

我不太确定如何将其重构为元组.无论如何,尽管每个元组中三个元素的顺序是一致的,但是我对元组的索引并不满意.无需转换为其他数据类型就可以做到吗?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值