実行例は「saka.mokumoku」の「Google Colabotry」環境に保存してある
1.利点
map関数を使うと
煩雑な処理をできるだけ少ない記述量で実現させられる
シーケンスの構成要素すべてに対して、ある関数の処理を行わせる
シーケンスとはオブジェクトを順番に処理するためのデータ構造
複数ある値をひとかたまりとして格納した型のことを言う
リストなどのオブジェクトに含まれる各要素に対して
何かしらの変換を加えて別のオブジェクトを生成させることができる
リスト処理で使われる例
「number1=〇〇
」「number2=〇〇
」「number3=〇〇
」の変数は
リストを使って「number_list=[〇〇,〇〇,〇〇,・・・
」と書換える
2.使用例
使用例:その1
sample1_list = list(range(5))
def multi(x):
y = x*2
return y
sample2_list = map(multi, sample1_list)
print(list(sample2_list))
<その1の説明>
Xの値を2倍にしてyにセットする関数(multi)を用意する
list(range(5))で0〜4までの値を(sample1_list)にセットする
map関数の引数に(sample1_list)を使って0〜4を渡し
(sample2_list)に(multi)関数の結果を返す
使用例:その2
sample1_list = list(range(5))
sample2_list = map(lambda y: y*2, sample1_list)
print(list(sample2_list))
<その2の説明>
def文によって関数定義をせずに
map関数の第一引数をlambda式で指定する
lambda(ラムダ)とはある処理に名前を付けずに定義したもの
シンプルな処理であればわざわざ関数定義をせずにlambda式で表現する
ある特定の処理を一度しか行わない場合
ごく限られた範囲でしか使わない場合