Список сумм чисел в списке

Задача со сложной формулировкой условия.

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

Под индексом 0 в итоговом списке должна быть сумма чисел исходного списка без числа под индексом 0 в исходном. Под индексом 1 в итоговом списке должна быть сумма чисел исходного списка без числа под индексом 1 в исходном. И так далее.

Пример для списка [1, 2, 3, 4]; итоговый список, по индексам:

  • 0 ➞ 2+3+4 = 9
  • 1 ➞ 1+3+4 = 8
  • 2 ➞ 1+2+4 = 7
  • 3 ➞ 1+2+3 = 6

Итоговый список — [9, 8, 7, 6]

Другие примеры

lst_ele_sum([1, 2, 3, 2, 1]) ➞ [8, 7, 6, 7, 8]
lst_ele_sum([1, 2]) ➞ [2, 1]
lst_ele_sum([1, 2, 3]) ➞ [5, 4, 3]
lst_ele_sum([1, 2, 3, 4, 5]) ➞ [14, 13, 12, 11, 10]
lst_ele_sum([10, 20, 30, 40, 50, 60]) ➞ [200, 190, 180, 170, 160, 150]

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

def lst_ele_sum(nums):
    total = sum(nums)
    return [total - i for i in nums]
lst_ele_sum=lambda l:[sum(l)-x for x in l]