Я думаю, вы могли бы использовать reduce
, хотя это спорно, что будь вещий ..
In [13]: reduce(lambda s, t: (s[0]+t[0], s[1]+t[1]), [a, b, c], (0, 0))
Out[13]: (51, 73)
Вот еще один способ использования map
и zip
:
In [14]: map(sum, zip(a, b, c))
Out[14]: [51, 73]
или, если вы передаете свою коллекцию кортежей в виде списка:
In [15]: tups = [a, b, c]
In [15]: map(sum, zip(*tups))
Out[15]: [51, 73]
и, используя понимание списка вместо map
:
In [16]: [sum(z) for z in zip(*tups)]
Out[16]: [51, 73]