python сумма кортежа в функции - PullRequest
1 голос
/ 06 мая 2020

В списке кортежей python мне нужно найти сумму каждого первого и последнего числа.

пример:

list = [(1, 4), (1, -4), (1, 4)]

и функция должна вернуть: (3, 4)

Ответы [ 4 ]

2 голосов
/ 06 мая 2020

Вы можете объединить индексы каждого кортежа, используя zip:

[sum(i) for i in zip(*list)]

1 голос
/ 06 мая 2020

Вы можете сделать это с помощью numpy:

import numpy

tuple(sum(numpy.array(list)))
# (3, 4)
0 голосов
/ 06 мая 2020

Вы можете использовать reduce из встроенного модуля functools:

from functools import reduce


l = [(1, 4), (1, -4), (1, 4)]
res = reduce(lambda x, y: (x[0] + y[0], x[1] + y[1]), l)
0 голосов
/ 06 мая 2020

Попробуйте:

data = [(1, 4), (1, -4), (1, 4)]
total_a = total_b = 0
for a,b in data:
    total_a += a
    total_b += b
print((total_a, total_b))
...