Python 3.3 ではitertools.accumulate()
、通常、提供された iterable に加算演算を繰り返し適用する が、関数の引数をパラメーターとして受け取ることができるようになりました。これは、 と重なっているということfunctools.reduce()
です。大雑把に見ると、現在の 2 つの主な違いは次のようになります。
accumulate()
デフォルトは合計ですが、追加の初期条件を明示的にreduce()
指定することはできませんが、どのメソッドもデフォルトではありませんが、1/0 要素シーケンスで使用するための初期条件を指定できます。accumulate()
最初に iterable をreduce()
取り、最初に関数を取ります。
2つの間に他に違いはありますか?それとも、最初は別々の用途で使用されていた 2 つの関数の動作の問題であり、時間の経過とともに収束し始めているのでしょうか?