「関数は覚えたけど、もっと簡単に書く方法はないの?」「短い処理をサッとまとめたい…」
そんなPython初心者の方に向けて、この記事ではラムダ関数(lambda関数)の使い方をわかりやすく解説します。
Google Colabで試せるコード例と、ChatGPTの活用法も紹介しますので、ぜひ手を動かしながら理解を深めてください。
▶ 前回の記事はこちら:
👉 ChatGPTで学ぶPython標準ライブラリ入門
ラムダ関数とは?なぜ使うの?
ラムダ関数(lambda function)は、1行で書ける「小さな関数」です。
Pythonでは通常、関数を以下のように書きます:
def add(a, b):
return a + b
ラムダ関数を使うと、これと同じ処理をたった1行で書けます:
add = lambda a, b: a + b
lambda
は「関数を定義する」という意味:
の前に「引数」、後に「処理内容(戻り値)」を記述return
は不要です
関数に名前をつけずに、その場限りで使うこともできます。
ラムダ関数の基本的な使い方(Colabで実行)
🔹 1つの引数を取るラムダ関数
f = lambda x: x * 2
print(f(3)) # 結果: 6

🔹 複数の引数を取るラムダ関数
add = lambda a, b: a + b
print(add(5, 7)) # 結果: 12

🔹 関数に名前をつけず、そのまま使う
print((lambda x: x ** 2)(4)) # 結果: 16

このように、lambda関数はシンプルな処理をその場で書いて使いたいときに非常に便利です。
ラムダ関数がよく使われる場面
Pythonでは、関数を引数として渡すような場面が多くあります。そんなときにlambda関数は大活躍します。
🔸 sorted() と組み合わせる
sorted() 関数
sorted() は、並び替え(ソート)をする関数です。
- リストなどを小さい順(昇順)に並べ替えてくれます。
reverse=True
を指定すると、大きい順(降順)になります。key=
を使うと、並べ替えのルールを自分で指定できます(例:長さ、2番目の値など)。
nums = [3, 1, 4, 2]
print(sorted(nums)) # 結果: [1, 2, 3, 4]

sorted() 関数とラムダ関数の組み合わせ例
items = [("りんご", 3), ("バナナ", 1), ("みかん", 2)]
sorted_items = sorted(items, key=lambda x: x[1])
print(sorted_items)
➡️ 出力結果:[("バナナ", 1), ("みかん", 2), ("りんご", 3)]
リストの中から特定の要素(ここでは2番目の数値)で並び替えることができます。key=lambda x: x[1]
は「各タプルの2番目の値(数字)で並び替えてね」という意味です。

🔸 map() でリストを加工
すべての要素に同じ処理をするときに使います。
map(関数, リストなど)
の形で使います。- 各要素を順番に関数で変換してくれます。
nums = [1, 2, 3, 4]
doubled = list(map(lambda x: x * 2, nums))
print(doubled) # [2, 4, 6, 8]

🔸 filter() で条件に合う要素だけ抽出
条件に合うものだけを残すための関数です。
filter(条件関数, リストなど)
の形で使います。- 条件に合うもの(Trueになるもの)だけを抽出します。
nums = [1, 2, 3, 4, 5, 6]
even = list(filter(lambda x: x % 2 == 0, nums))
print(even) # [2, 4, 6]
lambda x: x % 2 == 0
は「x が偶数なら True(残す)」という意味。list(...)
で結果をリストに変換しています。

ChatGPTを活用してラムダ関数を理解する
初めてlambda関数に触れると、「書き方が独特で難しそう…」と感じるかもしれません。
そんなときは、ChatGPTを学習のパートナーにしましょう。
おすすめの質問例:
- 「このlambda関数の意味を教えて」
- 「lambdaとdefの違いは?」
- 「この関数をlambdaに書き換えて」
コードと一緒に質問すれば、意味や応用方法を丁寧に教えてくれます。
初心者がつまずきやすいポイントと対策
よくあるミス | 解説 |
---|---|
: の書き忘れ | lambda x x+1 → ❌ lambda x: x+1 → ✅ |
return を書いてしまう | lambdaでは不要です |
複雑な処理を詰めすぎる | 読みにくくなるので、def の方が適切な場合も |
lambdaは「短く書く」ための道具なので、複雑なロジックは避けましょう。
まとめ|ラムダ関数でPythonをもっとスマートに
- ラムダ関数は、簡単な処理を一時的に書くのに便利です
def
より短く、1行で関数を定義できますsorted()
やmap()
,filter()
と組み合わせると真価を発揮します- ChatGPTを使えば意味や使い方の確認もスムーズ
Pythonのコードをもっとスッキリ書きたい方は、lambda関数をぜひ取り入れてみてください!
次回は、関数の引数の応用(デフォルト値、可変長引数など)について解説していきます。お楽しみに!
▶ 次回の記事はこちら:
👉 ChatGPTで学ぶPython関数の引数応用入門