Pythonのmap()関数でlambda()関数を使用してみます。
■Python
Google Colaboratory(Google Colab),Python3.7.10
■map()関数でlambda()関数を使用する
では、早速map()関数でlambda()関数を使用してみます。
■コード
test_list = [1,2,3,4,5,6,7,8,9,10] add_number = list(map(lambda x:x+5,test_list)) print(add_number)
今回は、test_listというリストを角括弧”[ ]”を使用し定義します。リスト内には、要素(数値)を格納します。
格納後、add_numberという変数を定義し、その中でmap()関数を使用します。関数の括弧内の第1のパラメータ,引数では、lambda(ラムダ)式を渡します。lambda(ラムダ)式では、引数,パラメータをxとし、xに代数演算子”+(プラス)”を用いて「5」を加算(足し算)します。
map()関数の第2の引数,パラメータでは、test_listを渡します。これで、test_listというリスト内の全ての要素に対して、lambda(ラムダ)式の処理が行われます。処理後に、list()関数を用いて、新しいリストを作成、add_number変数に格納。
最後に、add_number変数内の情報をprint()関数で出力します。
■実行・検証
スクリプトを作成後、このスクリプトを実行してみます。
実行してみると、test_listというリスト内の要素(数値)に対して、lambda(ラムダ)式の処理が行われ、処理されたものが新しいリストとして作成され、作成されたリストをprint()関数で出力させることができました。
■2つのリスト(反復可能オブジェクト)でmap()関数とlambda()関数を使用する
では、次に2つのリスト(反復可能オブジェクト)でmap()関数とlambda()関数を使用してみます。map()関数は、複数のリスト(反復可能オブジェクト)を引数,パラメータとして渡すことができます。
■コード
test_list1 = [1,2,3,4,5,6,7,8,9,10] test_list2 = [11,12,13,14,15,16,17,18,19,20] add_number = list(map(lambda x,y:x+y,test_list1,test_list2)) print(add_number)
test_list1とtest_list2というリストを角括弧”[ ]”を使用し定義します。リスト内には、それぞれ要素(数値)を格納します。
格納後、add_numberという変数を定義し、その中でmap()関数を使用します。関数の括弧内の第1のパラメータ,引数では、lambda(ラムダ)式を渡します。lambda(ラムダ)式では、引数,パラメータをxとyの2つ設定します。xに代数演算子”+(プラス)”を用いてyを加算(足し算)します。
map()関数の第1の引数,パラメータ以降では、test_list1とtest_list2を渡します。これで、test_list1とtest_list2のリスト内の全ての要素に対して、lambda(ラムダ)式の処理が行われます。処理後に、list()関数を用いて、新しいリストを作成、add_number変数に格納。
add_number変数の情報をprint()関数で出力します。
■実行・検証
スクリプトを作成後、このスクリプトを実行してみます。
実行してみると、map()関数に、2つのリスト(反復可能オブジェクト)を引数,パラメータとして渡してみましたが、lambda(ラムダ)式の処理が実行され、2つのリスト内の数値が加算(足し算)された新しいリストを出力させることができました。
コメント