スポンサーリンク

【Python】map関数の使い方。リストやタプルの各要素にまとめて関数を適用する

スポンサーリンク
スポンサーリンク
この記事は約3分で読めます。

 

map関数の使い方

書式

map(適用する関数, イテレータ)

 

適用する関数はint,strのほかに自作した関数も含みます。

イテレータはリスト、タプル、文字列などイテラブル(繰り返し処理ができるもの)です。

 

map関数を適用した後、新しいオブジェクト(map関数適用後のデータ)が返されます。

そのオブジェクトをlistやtupleで再度ひとまとめにして使用したり、別々の変数に代入して個別に使用することができます。

 

文字列型のリスト・タプルを全て数値に変換してリストに代入

 

map関数を適用後、listやtupleなどで変換することで使用することができる。

 

文字列型のリスト・タプルを全て数値に変換し、複数の変数に代入

要素の数だけ変数を用意することで、それぞれの変数に値を代入することができる。

また、” * “を使うことで1つの変数に複数の値を入れることができる。

 

自作 関数を適用する

map関数はリストやタプルなどのイテラブルに対して別の関数を適用することができます。

先ほどの例ではint()関数を適用しましたが、そのほかstr()を適用することもできれば、自作関数を適用することができます。

 

また、無名関数を適用することもできる。

 

複数のイテレータを組み合わせる

 

2,3個目の引数に複数のイテレータを渡すこともできます。

1つ目の例では2つの数値型の要素を持つリストを用意し、各要素を足し算して”numbers_int”の各要素としました。

2つ目の例では2つの文字列型の要素を持つリストを用意し、各要素を結合して”numbers_str”の各要素としました。

2つ目の例では、以下のように2つ同時にint関数を適用したかったのですが、それはエラーになりました。

“numbers_str = list(map(int,  numbers_str1, numbers_str2))”

 

 

Atcoderで入力を受け取る

Atcoderでは入力は空白区切りで受け取るので、input関数、split関数と組み合わせて上記のように値を受け取ることができます。

 

まとめ

map関数の使い方を整理しました。

Atcoderの入力によく使うので覚えておくと便利だと思います。

 

Python記事一覧

コメント