広告スペース(バナー)
🐍Python レッスン
基本文法の基礎8
データ構造とオブジェクト指向8
構文の基本を深める9
関数とデータ構造の応用9
アルゴリズムとテストの基礎8
文字列・数値操作の応用8
実務で役立つ機能8
アルゴリズム練習問題10
レッスン 24 / 69

リストのmap(要素を変換する)

このレッスンでは、Pythonのmap()関数を使いこなし、リストの各要素を変換する処理を学ぶことを目標にします。「Python map 使い方」「Python map リスト内包表記 違い」で調べている方向けです。

map(関数, リスト)は、リストの各要素に同じ処理を行い、新しいmapオブジェクトを作ります。「ベルトコンベアの上を通すと、全部の商品が同じように加工される機械」のようなものです。list()で普通のリストに変換できます。

サンプルコードでは、lambda n: n * 2という無名関数(ラムダ式)をmap()に渡し、numsの各要素を2倍にしたdoubledを作っています。元のnumsリストはそのまま変わっていない点も、コンソールの出力で確認してみましょう。

初心者がよくつまずくのが、map()の結果がそのままではリストとして表示されない点です。mapオブジェクトはリストに変換するまで中身が確定しない「遅延評価」という仕組みを持っているため、list()で囲む必要があります。同じことはリスト内包表記でも書けるため、Pythonの開発者の間ではどちらを好むか意見が分かれます。

両方読めるようにしておくと他の人のコードも理解しやすくなります。実務では、シンプルな変換ならリスト内包表記、既存の関数をそのまま適用したい場合はmapが好まれる傾向にあります。

Python
OUTPUT / 実行結果

💡 初回実行時はPythonエンジンの読み込みに数秒かかります。

🎯
ここまでできればゴール達成!
全員の点数を一律10%増しにするような、一括変換処理が作れるようになります。
広告スペース(バナー)
広告スペース(記事内)