通常の関数は数字や文字などだけをデータとして受け取って
それを処理します。
高階関数とは関数も引数として受け取って
その関数を使ってデータなどを処理する関数のことです
組み込み関数やライブラリにはよく使われるmapやfilterなどの高階関数があります
高階関数に渡す関数としてはlambda関数もよく渡されます
Pythonは関数そのものをオブジェクトとして
渡したり受け取ったりできるので簡単に高階関数を自分でつくることができます
それを処理します。
高階関数とは関数も引数として受け取って
その関数を使ってデータなどを処理する関数のことです
組み込み関数やライブラリにはよく使われるmapやfilterなどの高階関数があります
高階関数に渡す関数としてはlambda関数もよく渡されます
Pythonは関数そのものをオブジェクトとして
渡したり受け取ったりできるので簡単に高階関数を自分でつくることができます
組み込みの高階関数です
第一引数に処理する関数を渡し、第二引数にリストや文字列などのデータを
渡します
リストの中身を二倍にした新しいリストを作る
第一引数に処理する関数を渡し、第二引数にリストや文字列などのデータを
渡します
map(処理関数, データ)
リストの中身を二倍にした新しいリストを作る
arr = [1,2,3,4,5,6,7,8] arr2 = list(map(lambda x:x*10, arr)) print(arr2) >>[10,20,30,40,50,60,70,80]
組み込みの高階関数です
データの中から
条件にあったものだけを選んで返します
条件判定する関数はtrueかfalseを返す関数でなければいけません
リストの中から奇数だけを選んでそれを新しいリストとして作る
リストの中から偶数だけを選んでそれを新しいリストとして作る
データの中から
条件にあったものだけを選んで返します
条件判定する関数はtrueかfalseを返す関数でなければいけません
filter(条件判定関数,データ)
リストの中から奇数だけを選んでそれを新しいリストとして作る
arr = [1,2,3,4,5,6,7,8] odd1 = list(filter(lambda x:x%2 == 1, arr)) print(odd1) >>[1,3,5,7]
リストの中から偶数だけを選んでそれを新しいリストとして作る
arr = [1,2,3,4,5,6,7,8] even1 = list(filter(lambda x:x%2 == 0, arr)) print(even1) >>[2,4,6,8]
コメントをかく