Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 10, 2018 21:43:44

lupanton
Зарегистрирован: 2018-03-25
Сообщения: 17
Репутация: +  0  -
Профиль   Отправить e-mail  

использование reduce

Добра всем!

При использовании 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. Можно ли обойти ошибку? Почему она возникает на пустом списке?

Офлайн

#2 Апрель 10, 2018 22:35:40

Rodegast
От: Пятигорск
Зарегистрирован: 2007-12-28
Сообщения: 2833
Репутация: +  186  -
Профиль   Отправить e-mail  

использование reduce

 >>> 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



С дураками и сектантами не спорю, истину не ищу.
Ели кому-то правда не нравится, то заранее извиняюсь.

Онлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version