Python, есть ли функция, которая дает мне кумулятивную сумму? - PullRequest
0 голосов
/ 08 мая 2020

У меня есть следующее значение списка:

iva_versamenti_totale={'Liquidazione IVA': [sum(t) for t in zip(*iva_versamenti.values())],}

Я хочу получить по переменной iva_versamenti_totale следующую сумму:

p0, p1+p0, p2+p1, p3+p2 and so on...

Пример объявления:

iva_versamenti_totale = {'Liquidazione IVA': [1,2,3,4,5],}
result={'Totals': [1,3,5,7,9],}

РЕДАКТИРОВАТЬ

Я пробовал следующий код:

iva_versamenti_totale = [1,2,3,4,5]

results = [*map(sum, zip(iva_versamenti_totale , [0]+iva_versamenti_totale ))]

Но если я попробую

iva_versamenti_totale = [1,0,0,0]

Я хочу получить [1,1,1,1], вместо этого я получаю [1,1,0,0]

Ответы [ 2 ]

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

Другая версия:

l = [1,2,3,4,5]

s = [*map(sum, zip(l, [0]+l))]

print(s)

Распечатывает:

[1, 3, 5, 7, 9]
0 голосов
/ 08 мая 2020

Вы можете попробовать:

a =  [1,2,3,4,5]
[a[i]+a[i-1] if i!=0 else a[i] for i in range(len(a))]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...