私はPythonを初めて使用します。次のコードの何が問題になっているのか教えてください。実行すると、「NameError:グローバル名'reduce'が定義されていません」というエラーメッセージが表示されました。グーグルに聞いたけどダメだ。:(
def main():
def add(x,y): return x+y
reduce(add, range(1, 11))
if __name__=='__main__':
main()
私はそれを推測するつもりです:
このreduce
関数は、一般的に使用されていないため、Python 3の組み込み関数から削除されました。functools
モジュールで引き続き使用できるため、次のことができます。
import functools
def main():
def add(x,y): return x+y
functools.reduce(add, range(1, 11))
また
# Import reduce from functools
from functools import reduce
reduce
組み込み関数のように使用できます。
def main():
def add(x,y): return x+y
reduce(add, range(1, 11))