Я хочу суммировать элементы, хранящиеся в списке, с помощью метода Reduce () с использованием лямбда-выражения. Я получаю странное поведение, с которым не могу справиться.
Пример
>>> digits = [1,2,3]
>>> print(list(map(lambda y:digits[y],[i for i in range(len(digits))])))
[1, 2, 3]
>>> print(reduce(lambda x, y: x + y,digits))
6
>>> print(reduce(lambda x, y: x + digits[y],[i for i in range(len(digits))]))
5
Почему map перехватывает все элементы при переборе индексов, но если я перебираюиндексы, а не сам список, уменьшить теряет первый элемент?