Я использую Python 3.2. Пробовал это:
xor = lambda x,y: (x+y)%2
l = reduce(xor, [1,2,3,4])
И получил следующую ошибку:
l = reduce(xor, [1,2,3,4])
NameError: name 'reduce' is not defined
Пробовал печатать reduce
в интерактивную консоль - получил эту ошибку:
NameError: name 'reduce' is not defined
Является ли на reduce
самом деле удалены в Python 3.2? Если это так, какова альтернатива?
python
reduce
python-3.2
Сергей
источник
источник
Ответы:
Он был перенесен в
functools
.источник
sum(item['key'] for item in list_of_dicts)
.Можете добавить
прежде чем использовать уменьшить.
источник
Или если вы используете шесть библиотек
источник
В этом случае я считаю, что следующее эквивалентно:
Единственная проблема в том, что он создает большие числа, но, может быть, это лучше, чем повторяющиеся операции по модулю?
источник