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で削除されましたか?その場合、代替案は何ですか?
functools
に移動しました。
あなたは付け加えられます
from functools import reduce
リデュースを使用する前に。
または、6つのライブラリを使用する場合
from six.moves import reduce
この場合、私は以下が同等であると信じています:
l = sum([1,2,3,4]) % 2
これに関する唯一の問題は、大きな数を作成することですが、おそらくモジュロ演算を繰り返すよりも良いでしょうか?