<一覧に戻る

lambda式の基本

Pythonにおけるlambda式は、無名関数を簡潔に定義するための方法です。通常の関数を定義する際にはdef文を使用しますが、lambda式を使うことで、より短いコードで関数を作成することができます。

lambda式の基本構文

lambda式の基本的な構文は以下の通りです。

lambda 引数: 式

ここで、引数は関数に渡される値で、はその引数を使って計算される値を返します。lambda式は通常、1行の式を持つことができます。

サンプルコード

以下に、lambda式を使用して簡単な関数を作成する例を示します。

# 通常の関数
def add(x, y):
    return x + y

# lambda式を使った関数
add_lambda = lambda x, y: x + y

# 関数の呼び出し
print(add(3, 5))         # 出力: 8
print(add_lambda(3, 5))  # 出力: 8

コードの解説

  1. 通常の関数定義: def文を用いてaddという関数を定義しています。この関数は2つの引数xyを受け取り、その合計を返します。

  2. lambda式の定義: lambda x, y: x + yという形で、無名関数add_lambdaを定義しています。この関数も同様に2つの引数を受け取り、その合計を返します。

  3. 関数の呼び出し: 両方の関数を呼び出して、結果を表示しています。

lambda式の使用例

lambda式は、特に関数を引数として受け取る場合や、一時的な関数を作成する際に便利です。次に、lambda式を使った例を示します。

例: リストのソート

# サンプルデータ
data = [(1, 'apple'), (3, 'banana'), (2, 'orange')]

# lambda式を使ったソート
sorted_data = sorted(data, key=lambda x: x[0])

print(sorted_data)  # 出力: [(1, 'apple'), (2, 'orange'), (3, 'banana')]

コードの解説

  1. サンプルデータ: タプルのリストdataを作成しています。各タプルは整数と文字列から構成されています。

  2. ソート: sorted()関数を使って、リストをソートしています。このとき、key引数にlambda x: x[0]を指定することで、各タプルの最初の要素(整数)を基準にソートを行います。

  3. 結果の表示: ソートされた結果を表示しています。

まとめ

lambda式は、短い関数を定義するのに非常に便利です。特に、他の関数の引数として関数を渡す場合や、一時的な計算が必要な場合に役立ちます。lambda式を使うことで、コードをより簡潔に保つことができるでしょう。

出力結果: