如果其他三个元素匹配,我想对元组的第4个元素求和。 例如: 可以说我有这个元组列表:
d = [('a','b',1,5),('a','b',1,5),('a','b',1,5),('x','y',2,6),('x','y',2,6)]
我想作为输出:
output = [('a','b',1,15),('x','y',2,12)]
我已经用字典完成了,但是我想知道是否是另一种方式。
答案 0 :(得分:0)
我不确定这是否是op想要的:
d = [('a','b',1,5),('a','b',1,5),('a','b',1,5),('x','y',2,6),('x','y',2,6)]
out1, out2 = [], []
for i in d:
if i[:-1] in out1:
out2[out1.index(i[:-1])] += i[-1]
else:
out1.append(i[:-1])
out2.append(i[-1])
out = [tuple(j) + (out2[i],) for i, j in enumerate(out1)]
print(out)
打印:
[('a', 'b', 1, 15), ('x', 'y', 2, 12)]