【Python】【8】map関数を使ってみよう
【記事の目標】
map関数を使ってみる
【作業手順】
1.map関数ってどんな時に使うの?
2.map関数の使い方
3.map関数を実際に使ってみよう
1.map関数ってどんな時に使うの?
配列のすべての要素に対して、処理をしたいときに利用します。
for文で繰り返し処理をしても良いですが、map関数を使うことで、ソースがよりシンプルになります。
2.map関数の使い方
map関数は
python2系:map(関数, イテラブル)
python3系:list(map(関数, イテラブル))
の形で書くことが出来ます。
イテラブルはlistやrange関数のことを指しています。
for文を書くときにinの後に書くオブジェクトのことです。
3.map関数を実際に使ってみよう
今回は特にインポートは必要ありません。
では、数字が入った配列を用意して、すべての要素に1を足す処理を書いてみましょう。
まず、数字の入った配列を定義します。
args = [1, 2, 3]
次に1を足す関数を作成します。
def add_one(num):
return num + 1
では、最後にmap関数を使って、定義した配列の要素全てに1を足す処理を書きましょう。
result = list(map(add_one, args))
print(result)
それでは実行してみましょう。
定義したargsのすべての要素に1が足されて表示されていますね。
【補足】
・list()を付けなかったらどうなるの?
list()で囲んでいない場合は、mapオブジェクトのまま出力されてしまいます。
以下のようになるので、注意です。
・無名関数(ラムダ式)を使うともっとシンプルに
今回のようにすべての要素に1を足すだけの簡単な処理であれば、無名関数を使うともっとシンプルになります。
記載方法は以下のようになります。
result = list(map(lambda n: n+1, args))
「3.」で作成した add_one の関数を書く必要はありません。
この記載だけですべての要素に1を足すことができます。
今まで様々なライブラリを使ってきたので、今回は関数を使ってみました。
今までの記事に比べて簡単な内容ですが、前回の記事のように「ブラウザを動かせる!」みたいなインパクトはないですね。
でも、私が初めてプログラミングを始めた時は、四則演算はができただけで結構満足していました。
「楽しい」という感情が続けていく何よりの原動力と思います。