я хочу найти изящный способ достичь следующего:Объединяя карту и уменьшить
Притворитесь У меня есть список:
> x = [1, 2, 3, 4, 5]
И простую функцию, которая просто добавляет два числа:
> def add(a, b)
return a+b
Я могу сократить список x
непосредственно:
> sum = reduce(add, x)
> print(sum)
15
Который дает мне сумму просто отлично. Но я хотел бы знать значение после каждое приложение добавления. Таким образом, используя функцию, подобную уменьшить, я хотел бы получить обратно следующий массив:
> result = SOME_FUNCTION(add, x)
> print(result)
[3, 6, 10, 15]
ли кто-нибудь есть классный способ достичь этого. У меня есть сильное предпочтение для использования той или иной форме itertools решения, если возможно :)
Вы смотрите на функции 'itertools'? Один из них делает именно это. – vaultah
Это называется суммой *. Попробуйте 'np.cumsum (x)' например. Вероятно, обман этого http://stackoverflow.com/questions/15889131/how-to-find-the-cumulative-sum-of-numbers-in-a-list –
Соответствует: http://stackoverflow.com/questions/40009019/python-recursive-sum-list –