高度パイソン(関数型プログラミング)[2-3] Pythonで機能を低下させます

reduce関数で2-3のpython

パイソン、()関数を減らします

削減()関数は、ビルトインされたPythonの高次機能を。低減()関数とパラメータ(マップを受信した)を低減()関数fは、着信受信しなければならない、異なる)関数f、リストが、行動およびマップ(に類似している2つのパラメータを(リストのそれぞれに対して)低減要素は、繰り返し関数fを呼び出し、最終的な結果値を返します

例えば、xとy、xとyとリターンを受信関数fの調製:

1つの デフF(X、Y):
 2      リターン X + Y

(F [1、3、5、7、9])低減を呼び出し、以下のように計算された場合、機能を低下させます。

(1 ,. 3:最初の最初の2つの要素の計算fは)、結果は4であり、
第三の要素の、結果と計算される:F( 4 ,. 5 )、結果は9であり、
次いで、計算の結果および第4要素:F ( 9、7 )、結果は16である。
次に、計算の結果と五行:F( 16、9 )、25であった; 
それ以上の要素が存在しないため、計算の終了、結果25を返します。

上記の計算は、実際には、リストのすべての要素を合計されます。)(Pythonの組み込みのSUM関数の総和が、しかし、削減()の合計の使用も非常に簡単です。

低減()も受信することができる第三のオプションパラメータとして、初期値計算100の初期値ならば、計算:

1減らす(F [1、3、5、7、9]、100)

計算の最初のラウンドがあるので、結果は、125のようになります。

F(100、1)、結果は101である:最初の要素の初期値を算出します。

タスク

Pythonの組み込みのSUM関数の合計()が、直角に機能していない、直交するrecude()を使用してください。

入力:[2、4、5、7、12]
出力:結果2 * 4 * 5 * 7 * 12

1つの デフPROD(X、Y):
 2      リターンのx *のY
 3  
4  プリントを減らす(PROD、[2、4、5、7、12])

 

おすすめ

転載: www.cnblogs.com/ucasljq/p/11610862.html