Ho una lista di tuple simile a questo:somma ogni valore in una lista di tuple
l = [(1, 2), (3, 4), (5, 6), (7, 8), (9, 0)]
Voglio creare un semplice one-liner che mi darà il seguente risultato:
r = (25, 20) or r = [25, 20] # don't care if tuple or list.
che sarebbe come fare il seguente:
r = [0, 0]
for t in l:
r[0]+=t[0]
r[1]+=t[1]
sono sicuro che è qualcosa di molto semplice, ma non riesco a pensare di esso.
Nota: ho guardato domande simili già:
How do I sum the first value in a set of lists within a tuple?
How do I sum the first value in each tuple in a list of tuples in Python?
possibile du plicate di [Python element-wise tuple operations come sum] (http://stackoverflow.com/questions/497885/python-element-wise-tuple-operations-like-sum) –
@CiroSantilli: non è un duplicato. La domanda che hai collegato funziona con * due * tuple. Questa domanda su un * elenco * di tuple. La trasposizione è la parte essenziale della soluzione. Sebbene le risposte funzionino quasi alla lettera in entrambi i casi. Ancora tuple 'a, b' e' a_list_of_tuples' sono differenti (la differenza potrebbe essere esposta in quale soluzione è la più efficiente). – jfs