Накапливающаяся сумма

Напишите функцию, которая будет принимать и возвращать список чисел. В возвращаемом списке числа должны представлять собой накапливающуюся сумму чисел исходного списка.

Если в функцию передан пустой список, она должна и вернуть пустой список.

Примеры

accumulating_list([1, 2, 3, 4]) ➞ [1, 3, 6, 10]
# 1 ➞ 1
# 1 + 2 ➞ 3
# 1 + 2 + 3 ➞ 6
# 1 + 2 + 3 + 4 ➞ 10
# т.о. получаем [1, 3, 6, 10]

accumulating_list([1, 5, 7]) ➞ [1, 6, 13]
accumulating_list([1, 0, 1, 0, 1]) ➞ [1, 1, 2, 2, 3]
accumulating_list([]) ➞ []

Варианты решения

def accumulating_list(lst):
    return [sum(lst[:i+1]) for i in range(len(lst))]
from itertools import accumulate
def accumulating_list(lst):
    return list(accumulate(lst))