Сумма элементов списка * на индекс

Кодинг-марафон. Задача 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)) 

Прокрутить вверх