広告スペース(バナー)
🐍Python レッスン
基本文法の基礎8▾
データ構造とオブジェクト指向8▾
構文の基本を深める9▾
関数とデータ構造の応用9▾
アルゴリズムとテストの基礎8▾
文字列・数値操作の応用8▾
実務で役立つ機能8▾
レッスン 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%増しにするような、一括変換処理が作れるようになります。
全員の点数を一律10%増しにするような、一括変換処理が作れるようになります。
広告スペース(バナー)
広告スペース(記事内)