Нужно оптимизировать небольшой код в Python
Я написал рабочий код на языке Python, но для его сдачи мне нужно его оптимизировать. Коротко про код: есть список, в котором лежат цифры, нужно найти суму этого списка и вывести в другой список, потом снова найти суму списка но без первого элемента. И так далее. Вот сам код:
def parts_sums(ls):
a = []
while ls != []:
b = sum(ls)
a.append(b)
del ls[0]
return a+[0]
Задача: оптимизация кода.
Ответы (1 шт):
Автор решения: nomnoms12
→ Ссылка
Необязательно считать сумму списка на каждой итерации.
Следующий элемент можно найти, вычитая из суммы предыдущий.
Пример:
def parts_sums(li):
t = sum(li)
result = []
for x in li:
result.append(t)
t -= x
return result + [0]