如果重复一个元素,则在元组列表中添加值

时间:2014-05-22 16:56:16

标签: python iteration tuples

我有一个元组列表:

values = [('n', 2), ('b', 5), ('d',6), ('b',3)]

如果第一个元素相同,我想添加整数值,所以我得到一个新列表:

valuesNew = [('n', 2), ('b', 8), ('d',6)]

我将不胜感激任何帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

这是你可以做到的一种方式。您丢失了原始元组的顺序,因为没有订购字典。

d = dict()
for key, val in values:
    if key in d:
        d[key] += val
    else:
        d[key] = val

valuesNew = [(k,v) for k,v in d.iteritems()]

给你:

>>> valuesNew
[('b', 8), ('d', 6), ('n', 2)]
相关问题