icon
icon

Pythonのリストの要素をmap関数を利用して一括で型変換する方法を現役エンジニアが解説【初心者向け】

初心者向けにPythonのリストの要素をmap関数を利用して一括で型変換する方法について現役エンジニアが解説しています。map関数とはリストやタプルなど複数の要素をもつオブジェクトと関数を引数にもつ関数で、引数の関数の処理を一括で配列に適用してくれます。

テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日  調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名  調査手法:インターネット調査

Pythonのリストの要素をmap関数を利用して一括で型変換する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。

Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Python講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonのリストの要素をmap関数を利用して一括で型変換する方法について詳しく説明していくね!

大石ゆかり

お願いします!

この記事ではPythonのリストの要素をmap関数を利用して一括で型変換する方法について解説しています。

map関数とは

map関数とはリストやタプルなど複数の要素をもつオブジェクトと関数を引数にもつ関数です。オブジェクトの各要素を引数の関数に渡して実行してくれます。

関数に関数を渡すことができるのでmap関数は高級関数の一つとしても知られています。

map関数を利用したリストの型変換の方法

map巻子を使いリストの各要素の型変換を行う方法は以下のように記述します

変換後のリスト = list(map(変換したい型, リスト))

map関数の第1引数に変換したい型をいれます。文字列ならstr、数値ならintを設定します。第2引数にリストを設定することで戻り値として型が変換されたリストが戻ってきます。

[PR] 未経験からWebエンジニアを目指す方法とは

実際に書いてみよう

では実際にmap関数を使いリストの型を一括変換する処理を記述してみましょう

プログラムソースコード

list01 = ['1', '100', '10', '20', '35']
list02 = [0, 2, 4, 6, 8, 10]

list01 = map(int, list01)
print(list(list01))

list02 = map(bool, list02)
print(list(list02))

 

実行結果

[1, 100, 10, 20, 35]
[False, True, True, True, True, True]

list01は各要素がstr型になっています。それをmap関数を使うことですべての要素が一括でint型に変換されています。またlist02は各要素がint型になっています。それをmap関数を使うことですべての要素が一括でbool型に変換されています。

ちなみにmap関数を使わない場合以下のように記述できます

プログラムソースコード

list01 = ['1', '100', '10', '20', '35']
newList01 = []

for str in list01:
  newList01.append(int(str))

print(newList01)

 

実行結果

[1, 100, 10, 20, 35]

map関数を使わない場合、for文を使い、各要素を取り出したうえで変換してリストに格納する必要があります。この結果を見ても一括で変換ができるmap関数を覚えておくとよりシンプルに記述できることがわかります。

まとめ

この記事ではPythonのリストの要素をmap関数を利用して一括で型変換する方法を解説しました。

監修してくれたメンター

メンターSさん

システムエンジニアとしてこれまで行政システムや医療用システムの保守、開発に携わりました。

JavaやPython、PHP、Kotlinなど様々な言語での開発経験があります。TechAcademyではJavaコース、Pythonコース、AIコースなど7コースを担当しています。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。