カテゴリ: Python 更新日: 2026/04/03

Pythonのラムダ式(lambda)とは?無名関数の基本をやさしく解説

Pythonのラムダ式(lambda)とは?無名関数の基本を解説
Pythonのラムダ式(lambda)とは?無名関数の基本を解説

先生と生徒の会話形式で理解しよう

生徒

「Pythonで、ちょっとした処理を簡単に書く方法ってありますか?」

先生

「ありますよ。lambdaという“ラムダ式”を使えば、わざわざ関数を作らなくても短く書けます。」

生徒

「ラムダ式って何ですか?」

先生

「ラムダ式は“無名関数”とも呼ばれていて、名前をつけずに使える関数のことです。今から基本を説明しますね!」

1. ラムダ式(lambda)とは?

1. ラムダ式(lambda)とは?
1. ラムダ式(lambda)とは?

Pythonのラムダ式lambda)とは、関数に名前を付けずに、その場でサッと作れる無名関数のことです。
通常、関数を作るにはdefを使いますが、短い処理のために毎回名前を付けるのは面倒です。そんなとき、lambdaを使うと1行で書けます。

例えば、「数字を2倍にする」関数を作る場合、普通の関数だとこうなります。


def double(x):
    return x * 2

print(double(5))

10

これをラムダ式で書くと、こうなります。


double = lambda x: x * 2
print(double(5))

10

ポイントは、lambda 引数: 処理というシンプルな書き方です。

2. ラムダ式の基本構文

2. ラムダ式の基本構文
2. ラムダ式の基本構文

ラムダ式の構文は以下の通りです。


lambda 引数1, 引数2, ... : 戻り値

特徴

  • lambdaの後に引数を書く(引数が不要な場合は空でもOK)
  • : の後に戻り値となる処理を書く
  • 1行で完結する(複数行の処理は書けない)

3. 普通の関数とラムダ式の違い

3. 普通の関数とラムダ式の違い
3. 普通の関数とラムダ式の違い

ラムダ式とdefで作る関数の違いを比較しましょう。


# 通常の関数
def add(a, b):
    return a + b

# ラムダ式
add_lambda = lambda a, b: a + b

print(add(3, 4))
print(add_lambda(3, 4))

7
7

どちらも結果は同じですが、ラムダ式の方が短く書けます。ただし、長い処理を書くと読みづらくなるため、シンプルな処理専用と覚えておきましょう。

4. ラムダ式の活用例

4. ラムダ式の活用例
4. ラムダ式の活用例

ラムダ式は単体でも使えますが、特に関数の引数として渡すときに便利です。

4-1. ソートで使う


data = [(1, "apple"), (3, "banana"), (2, "cherry")]

# 2番目の要素でソート
sorted_data = sorted(data, key=lambda x: x[1])
print(sorted_data)

[(1, 'apple'), (3, 'banana'), (2, 'cherry')]

4-2. filterで使う


numbers = [1, 2, 3, 4, 5, 6]

# 偶数だけを抽出
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers)

[2, 4, 6]

4-3. mapで使う


numbers = [1, 2, 3]

# すべての要素を2倍に
doubled = list(map(lambda x: x * 2, numbers))
print(doubled)

[2, 4, 6]

5. ラムダ式を使うときの注意点

5. ラムダ式を使うときの注意点
5. ラムダ式を使うときの注意点

ラムダ式は便利ですが、以下の注意点があります。

  • 1行でしか書けない(複雑な処理には不向き)
  • 処理が長くなると可読性(読みやすさ)が下がる
  • デバッグ時にエラーが出たとき、関数名がないため原因がわかりにくい

そのため、簡単な処理 → ラムダ式複雑な処理 → 通常の関数という使い分けが大切です。

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Pythonのラムダ式(lambda)とは一体どのようなものですか?初心者にもわかりやすく教えてください。

Pythonのラムダ式とは、一言で言うと「名前を付けずにその場ですぐに作って使える関数」のことです。プログラミングの世界では「無名関数」とも呼ばれています。通常、Pythonで関数を作る場合は「def」キーワードを使って名前を定義し、数行にわたって処理を記述しますが、ラムダ式を使えば、ごく短い処理をたった1行でスマートに記述することができます。わざわざ関数名を考える必要がないため、プログラムのコードがスッキリするというメリットがあります。特に、その場限りでしか使わないような小さな処理を書きたいときに非常に便利な機能となっています。
カテゴリの一覧へ
新着記事
New1
Django
Djangoバリデーション入門|フォームとモデルの入力チェック基本をやさしく理解しよう
New2
Django
Djangoテンプレートの変数展開まとめ|初心者向けにわかりやすく解説
New3
Django
Django ModelFormの使い方完全ガイド!初心者でもわかる新規登録フォーム作成
New4
Django
Djangoテンプレートの使い方を完全解説!初心者でもわかるタグ・フィルタ入門
人気記事
No.1
Java&Spring記事人気No1
Python
PythonでNoSQL操作!エラーハンドリングを初心者向けに徹底解説
No.2
Java&Spring記事人気No2
Python
Pythonの文字列を1文字ずつ処理する方法!for文やlist化の活用例
No.3
Java&Spring記事人気No3
Python
PythonのSQLAlchemy使い方入門!初心者でもわかるインストールと初期設定
No.4
Java&Spring記事人気No4
Flask
Flaskで多言語対応のログメッセージを出力する方法!Python初心者向けガイド
No.5
Java&Spring記事人気No5
Python
PythonのSQLAlchemyでデータベース操作!モデルクラスでテーブル定義する方法を徹底解説
No.6
Java&Spring記事人気No6
Flask
FlaskでJSONレスポンスを多言語化!API設計の基本を初心者向けに解説
No.7
Java&Spring記事人気No7
Python
PythonでCassandraに接続する方法を完全ガイド!cassandra-driverの使い方
No.8
Java&Spring記事人気No8
Python
PythonでREST APIを作る方法!初心者向けFastAPI入門