- マップ (Map) 関数: マップ関数は、リストや配列のようなデータ構造に対して、指定した関数を適用するための高階関数です。例えば、以下のコードでは、リストの要素を2倍にするマップ関数を使用しています。
numbers = [1, 2, 3, 4, 5]
def double(x):
return x * 2
doubled_numbers = list(map(double, numbers))
print(doubled_numbers) # 出力: [2, 4, 6, 8, 10]
- フィルタ (Filter) 関数: フィルタ関数は、データ構造から特定の条件を満たす要素を抽出するための高階関数です。以下のコードでは、リストから偶数の要素を抽出するフィルタ関数を使用しています。
numbers = [1, 2, 3, 4, 5]
def is_even(x):
return x % 2 == 0
even_numbers = list(filter(is_even, numbers))
print(even_numbers) # 出力: [2, 4]
- リデュース (Reduce) 関数: リデュース関数は、データ構造の要素を結合して単一の値を生成するための高階関数です。以下のコードでは、リストの要素を合計するリデュース関数を使用しています。
from functools import reduce
numbers = [1, 2, 3, 4, 5]
def sum_numbers(x, y):
return x + y
total = reduce(sum_numbers, numbers)
print(total) # 出力: 15
これらは高階関数の一部の例ですが、関数型プログラミングの世界では他にもさまざまな高階関数が存在します。高階関数を活用することで、コードの可読性を向上させ、効率的なプログラムを作成することができます。是非、高階関数を使ってみてください。