reduce()関数
788 ワード
reduce()関数
reduce()関数もPythonに内蔵された高次関数です.reduce()関数が受信するパラメータはmap()と類似しており、1つの関数f、1つのlistであるが、動作はmap()とは異なり、reduce()が入力する関数fは2つのパラメータを受信しなければならず、reduce()はlistの各要素に対して関数fを繰り返し呼び出し、最終結果値を返す.
例えば、f関数を記述し、xとyを受信し、xとyの和を返します.
reduce(f,[1,3,5,7,9])を呼び出すと、reduce関数は次のように計算されます.
上記の計算は実際にlistのすべての要素を合計します.Pythonには求和関数sum()が内蔵されているが,reduce()を用いて求和するのも簡単である.
reduce()は、計算の初期値として3番目のオプションパラメータを受信することもできる.初期値を100に設定すると、次のように計算されます.
結果は125になります.第1ラウンドの計算は次のとおりです.
初期値と最初の要素:f(100,1)を計算し、結果は101であった.
reduce()関数もPythonに内蔵された高次関数です.reduce()関数が受信するパラメータはmap()と類似しており、1つの関数f、1つのlistであるが、動作はmap()とは異なり、reduce()が入力する関数fは2つのパラメータを受信しなければならず、reduce()はlistの各要素に対して関数fを繰り返し呼び出し、最終結果値を返す.
例えば、f関数を記述し、xとyを受信し、xとyの和を返します.
def f(x, y):
return x + y
reduce(f,[1,3,5,7,9])を呼び出すと、reduce関数は次のように計算されます.
:f(1, 3), 4;
3 :f(4, 5), 9;
4 :f(9, 7), 16;
5 :f(16, 9), 25;
, , 25。
上記の計算は実際にlistのすべての要素を合計します.Pythonには求和関数sum()が内蔵されているが,reduce()を用いて求和するのも簡単である.
reduce()は、計算の初期値として3番目のオプションパラメータを受信することもできる.初期値を100に設定すると、次のように計算されます.
reduce(f, [1, 3, 5, 7, 9], 100)
結果は125になります.第1ラウンドの計算は次のとおりです.
初期値と最初の要素:f(100,1)を計算し、結果は101であった.