Pythonのreduce関数の使い方
reduce関数はPythonで内蔵される高階関数で、引数として関数と反復可能なオブジェクトを受け取ります。反復可能なオブジェクトの要素に対して累積演算を実行し、最終的に結果を返します。
reduce 関数を使用するには、functools モジュールをインポートし、functools.reduce() を呼び出します。
reduce関数 основном синтаксис следующий:
reduce(function, iterable[, initializer])
そのうち:
- 関数:2つの引数を受け取り、1つの結果を返す、あなたが自分で書いた関数。
- イテラブル:累積処理の対象となる要素を含む、反復可能なオブジェクト。
- initialValue(オプション):初期値。デフォルトでは指定されません。指定した場合、イテラブルの最初の要素より前にinitialValueと、最初の要素が引数としてfunction関数に渡されます。
リスト内のすべての要素の合計を計算するために reduce 関数を使う方法を示す、単純な例を以下に示します。
from functools import reduce
numbers = [1, 2, 3, 4, 5]
def add(x, y):
return x + y
sum = reduce(add, numbers)
print(sum) # 输出15
上のコードで、add関数には2つの引数が渡されており、その和を返しています。reduce関数は、numbersリストにある要素に対して、add関数を順番に適用し、最終的にリスト内の合計を返します。
Python 3ではreduce関数がfunctoolsモジュールに移動されたことに注意して、functoolsモジュールをインポートしてreduce関数を使う必要があります。