Кодинг-марафон. Задача 2.
Условие: Необходимо написать функцию, которая вернёт сумму всех элементов списка, умноженных на свой индекс. Для пустого списка возвращаем 0.
Пример:
index_multiplier([1, 2, 3, 4, 5]) ➞ 40.
Мы приведем несколько вариантв решения задачи:
""" вариант с встроенной функцией sum""" def index_multiplier(lst): return sum(j*i for i, j in enumerate(lst))
""" sum + list comprehension """ def index_multiplier(lst): return sum([v*i for i,v in enumerate(lst)])
""" Просто циклами """ def index_multiplier(lst): sum = 0 for i in range (len(lst)): sum += i*lst[i] return sum
Вариант решения от нашего подписчика @baalique:
index_multiplier = lambda seq: sum(i * v for i, v in enumerate(seq))