Python - reduce

公開日:2019-03-12

1. 概要

reduce の使い方です。
reduce を使うと、リストなどの各要素を関数を使って集計することができます。
基本的な使い方は map と同じです。
引数で指定する関数は、引数を2つ取り、合計値などを戻り値として返す必要があります。
また、reduce を使用する場合には、functools から import する必要があります。

使い方
from functools import reduce

reduce(集計用の関数, リストなど)

2.1 サンプル

reduce の動作確認のためのサンプルです。
リストから奇数の要素だけを取得します。

ソース
lst = [1,2,3,4,5]

from functools import reduce

def add(value1, value2):
    print(str(value1) + " + " + str(value2))
    return value1 + value2

result = reduce(add, lst)
print("合計:" + result)

実行結果
1 + 2
3 + 3
6 + 4
10 + 5
合計:15

2.2 ラムダ式を使ったサンプル

ソース
from functools import reduce

result = reduce(lambda v1, v2:v1 + v2, [1,2,3,4,5])
print("合計:" + str(result))

実行結果
15