カテゴリ: Python 更新日: 2025/11/17

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

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

カテゴリの一覧へ
新着記事
New1
Flask
認証と認可の違いを整理しよう!Flaskで押さえるべき基礎概念
New2
Flask
Flaskで非同期フォーム送信(Ajax POST)を実装する方法を解説!初心者でもわかるステップ解説
New3
Python
Pythonで定数を定義する方法!変更されない変数の書き方と命名ルールを初心者向けに解説
New4
Python
PythonでMySQLに接続する方法!pymysqlの基本的な使い方
人気記事
No.1
Java&Spring記事人気No1
Python
Pythonとは何か?初心者向けにできること・特徴・インストール手順までやさしく解説
No.2
Java&Spring記事人気No2
Flask
Flaskでデータベースを使う基本!SQLAlchemyの導入方法をやさしく解説
No.3
Java&Spring記事人気No3
Python
Pythonでリストの要素を検索・取得する方法!index()やin演算子の活用法
No.4
Java&Spring記事人気No4
Python
Pythonのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.5
Java&Spring記事人気No5
Python
Pythonプログラムの書き方を基礎から学ぼう!初心者が覚えるべき文法とは?
No.6
Java&Spring記事人気No6
Python
Pythonで仮想環境(venv)を作る方法!初心者向けに環境構築をステップ解説
No.7
Java&Spring記事人気No7
Flask
Flaskアプリの環境変数をクラウドで安全に設定する方法!初心者のための完全ガイド
No.8
Java&Spring記事人気No8
Flask
Flaskでクラウド上のメッセージキュー(SQS/PubSub)を扱う完全ガイド!初心者向け解説