ProgrammingのTipなど

高階関数

通常の関数は数字や文字などだけをデータとして受け取って
それを処理します。
高階関数とは関数も引数として受け取って
その関数を使ってデータなどを処理する関数のことです

組み込み関数やライブラリにはよく使われるmapやfilterなどの高階関数があります

高階関数に渡す関数としてはlambda関数もよく渡されます

Pythonは関数そのものをオブジェクトとして
渡したり受け取ったりできるので簡単に高階関数を自分でつくることができます

map関数
組み込みの高階関数です
第一引数に処理する関数を渡し、第二引数にリストや文字列などのデータを
渡します

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]
filter関数
組み込みの高階関数です
データの中から
条件にあったものだけを選んで返します
条件判定する関数は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]

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu

メニュー2

開くメニュー

閉じるメニュー

  • アイテム
  • アイテム
  • アイテム
【メニュー編集】

管理人/副管理人のみ編集できます