Задача со сложной формулировкой условия.
Нужно написать функцию. Она будет принимать список положительных целых чисел. Возвращаться будет список чисел, имеющий такую же длину, что и исходный. Формироваться он должен по следующему принципу.
Под индексом 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]