2017-09-26 1 views

Répondre

3

Vous pouvez le faire une fois que vous réalisez tout simplement l'idée de garder la trace du premier élément est bien fait avec un dict

c = dict(A) 
for key, value in B: 
    c[key] = c.get(key, 0) + value 

result = list(c.items()) 
1

Si la commande n'est pas importante, l'utilisation de collections.Counter est une autre option:

In [21]: from collections import Counter 

In [22]: A = [ (1,2),(5,2) ] 

In [23]: B = [ (1,2),(5,5),(11,2) ] 

In [24]: (Counter(dict(A)) + Counter(dict(B))).items() # list(...) for Python 3 
Out[24]: [(1, 4), (11, 2), (5, 7)]