LINUX.ORG.RU

История изменений

Исправление vvn_black, (текущая версия) :

Буду разбираться

Общая часть:

a = [(0, 10.8), (1, 8.2), (2, 0.3)]
b = [(0, 0.4), (3, 20.2), (2, 0.3)]
c = a + b
keys = set(map(lambda x: x[0], c))

Если императивно, то

result = []
for key in keys:
    summ = 0
    for x in c:
        if x[0] == key:
            summ += x[1]
    result.append((key, summ))

Если питоник-вей то:

result = [(key, sum([x[1] for x in c if x[0] == key])) for key in keys]

Исходная версия vvn_black, :

Буду разбираться

Если императивно, то

result = []
for key in keys:
    summ = 0
    for x in c:
        if x[0] == key:
            summ += x[1]
    result.append((key, summ))

Если питоник-вей то:

result = [(key, sum([x[1] for x in c if x[0] == key])) for key in keys]