Python reduce() 関数

Python 内置函数Python 組み込み関数


説明

reduce()関数は引数シーケンス内の要素を累積します。

関数はデータ集合(リスト、タプルなど)内のすべてのデータに対して次の操作を行います:reduce に渡された関数 function(2つの引数を持つ)は、最初に集合の第1、第2の要素に対して操作を行い、得られた結果をさらに第3のデータと function 関数で演算し、最終的に1つの結果を得ます。

注意:Python3.x では reduce() は functools モジュールに移動されました。使用する場合は、functools モジュールをインポートして reduce() 関数を呼び出す必要があります:

from functools import reduce

構文

reduce() 関数の構文:

reduce(function, iterable[, initializer])

引数

  • function -- 関数、2つの引数を持ちます
  • iterable -- 反復可能オブジェクト
  • initializer -- 省略可能、初期パラメータ

戻り値

関数の計算結果を返します。

例

以下の例は reduce() の使用方法を示しています。

例(Python 2.x)

#!/usr/bin/python
# -*- coding: UTF-8 -*-

def add(x, y) :            # 2つの数値を加算
    return x + y
sum1 = reduce(add, [1,2,3,4,5])   # リストの合計を計算:1+2+3+4+5
sum2 = reduce(lambda x, y: x+y, [1,2,3,4,5])  # lambda 匿名関数を使用
print(sum1)
print(sum2)

例(Python 3.x)

#!/usr/bin/python
from functools import reduce

def add(x, y) :            # 2つの数値を加算
    return x + y
sum1 = reduce(add, [1,2,3,4,5])   # リストの合計を計算:1+2+3+4+5
sum2 = reduce(lambda x, y: x+y, [1,2,3,4,5])  # lambda 匿名関数を使用
print(sum1)
print(sum2)

上記の例の出力結果は次のとおりです:

15
15

Python 内置函数Python 組み込み関数

その他の拡張