Найти - Пользователи
Полная версия: использование reduce
Начало » Python для новичков » использование reduce
1
lupanton
Добра всем!

При использовании reduce:
 from functools import reduce
print(reduce(lambda x, y: x+y, []))
TypeError: reduce() of empty sequence with no initial value

На пустом списке выдает такую ошибку. reduce в таких случаях не работает?
Можно и так:
 print(sum(int(input()) for i in range(int(input()))))

но есть желание использовать lambda. Можно ли обойти ошибку? Почему она возникает на пустом списке?
Rodegast
 >>> reduce(lambda x, y: x+y, [])
Traceback (most recent call last):
  File "<input>", line 1, in <module>
    reduce(lambda x, y: x+y, [])
TypeError: reduce() of empty sequence with no initial value
>>> reduce(lambda x, y: x+y, [], 0)
0
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB