望月の息抜き

在宅勤務の息抜きです。主にプログラミングについて書いていきたいと思います。

【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)

それでは実行してみましょう。

f:id:fysker:20220109214654p:plain

定義したargsのすべての要素に1が足されて表示されていますね。

 

【補足】

・list()を付けなかったらどうなるの?

list()で囲んでいない場合は、mapオブジェクトのまま出力されてしまいます。

以下のようになるので、注意です。

f:id:fysker:20220109214951p:plain

 

・無名関数(ラムダ式)を使うともっとシンプルに

今回のようにすべての要素に1を足すだけの簡単な処理であれば、無名関数を使うともっとシンプルになります。

記載方法は以下のようになります。

 result = list(map(lambda n: n+1, args))

「3.」で作成した add_one の関数を書く必要はありません。

この記載だけですべての要素に1を足すことができます。

 

 

今まで様々なライブラリを使ってきたので、今回は関数を使ってみました。

今までの記事に比べて簡単な内容ですが、前回の記事のように「ブラウザを動かせる!」みたいなインパクトはないですね。

でも、私が初めてプログラミングを始めた時は、四則演算はができただけで結構満足していました。

「楽しい」という感情が続けていく何よりの原動力と思います。