← クエスト一覧

クエスト29:map()で変換しよう

スライド 1 / 5
コーデ
💻 コード例
実行結果
← クエスト一覧
🐍 Python / Quest 29 / 85

クエスト29:map()で変換しよう

応用 +10 XP
🏠
今回の課題
map()lambda で、[1, 2, 3, 4, 5] を全部2倍したリストを表示しよう。
📖 解説を見る
🗺️ map()って何?

map(関数, リスト) は、リストの全要素に同じ関数を適用します。

✏️ 書き方:
words = ['a', 'b', 'c']
upper = list(map(lambda w: w.upper(), words))
print(upper)
 → ['A', 'B', 'C']
map() の第1引数が「1つ分をどう変換するか」、第2引数が元のリストです。

📋 作るもの:
map() に「受け取った値を2倍して返す lambda」と nums をわたす
・結果を list() で囲んでリストにする
・変数名は doubled(下の print がこの名前を使う)
・できあがりは [2, 4, 6, 8, 10]

💡 どこで使う?

「リスト全部をまとめて変換」したいときに使います。価格を全部税込みにする、名前を全部大文字にする、点数を全部10点上げる、などが1行で書けます。リスト内包表記(Q20)とよく似た用途で、好みで使い分けます。

⚠️ ポイント:
list() で囲まないとリストにならない
・lambda でも def 関数でもわたせる
ヒントを見る
map(関数, リスト) の形で、関数のところに lambda を書こう。map の結果はそのままではリストではないので list() で囲むのを忘れずに。
期待する出力
[2, 4, 6, 8, 10]
📄 見本
「答えを見る」を押すと、お手本のコードが出ます。クリックでコピーできます。
💻 コードエディタ
実行すると結果がここに表示されます
正解!見本と同じになりました。
次へ →
🏠 ホームへ

れんしゅうもんだい

☑ 0 / 3 正解 レッスンに戻る

全問正解でクエストクリア!

未挑戦

問題 1: map()で['python','java','html']を全部大文字にして表示しよう!

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
['PYTHON', 'JAVA', 'HTML']
未挑戦

問題 2: map()で['1','2','3','4']を整数リストに変換して表示しよう!

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
[1, 2, 3, 4]
未挑戦

問題 3: map()で[1,2,3,4,5]の各要素を二乗したリストを表示しよう!

実行結果
実行できたよ!
もう一度チャレンジ!
📄 見本の出力
[1, 4, 9, 16, 25]
コピーしました!