Menu
Coddy logo textTech

Map 関数

CoddyのPythonジャーニー「Logic & Flow」セクションの一部。レッスン 72/78。

map()関数は、主に2つのものを受け取ります:

  1. 関数(何をするかの指示を含むもの)
  2. 項目のシーケンス(リストや要素のコレクションなど)

次に、その function をシーケンス内の各項目に1つずつ適用し、すべての結果を返します。

例えば:

def square(n):
    return n * n

numbers = [1, 2, 3, 4, 5]  # これは単なる数字のリストです
squared_numbers = map(square, numbers)
print(list(squared_numbers))
# 出力: [1, 4, 9, 16, 25]

ここで起こったこと:

  • numbers の list があります:[1, 2, 3, 4, 5]
  • map() 関数は、各 numbers を一度に 1 つずつ受け取ります
  • 各 numbers を square 関数に渡します
  • すべての結果を順番に収集します

組み立てラインのように考えることができます:

  1. 数字 1 が入る → square 関数がそれを 1 にする
  2. 数字 2 が入る → square 関数がそれを 4 にする
  3. 数字 3 が入る → square 関数がそれを 9 にする、以下同様...

別の関数を定義する代わりに、lambda function も使用できます。

numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda n: n * n, numbers)
print(list(squared_numbers))
# 出力: [1, 4, 9, 16, 25]

map()関数は、数値だけでなく、あらゆる項目のコレクションで機能します。文字列や、同じ方法で処理したいその他の種類のデータも扱えます。

challenge icon

チャレンジ

簡単

strings の文字列のリストを引数として受け取る、convert_to_uppercase という名前の関数を作成してください。この関数では、lambda 関数と map() 関数を使用して、リスト内の各文字列を大文字に変換します。この関数は、大文字に変換された文字列を含むリストを返す必要があります。

自分で試してみよう

def convert_to_uppercase(strings):
    # map() と lambda 関数を使用して文字列を大文字に変換する
    # 下の空のリストをその式で置き換える
    uppercase_strings = []
    
    # 大文字の文字列のリストを返す
    return list(uppercase_strings)
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

Logic & Flowのすべてのレッスン

自分で練習してみよう: Pythonオンラインコンパイラ