Python - reduce

公開日:2019-03-12 更新日:2019-05-14
[Python]

1. 概要

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

from functools import reduce

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

2.1 サンプル

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

from functools import reduce

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

lst = [1,2,3,4,5]
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