0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[Python] ラムダ式の使い方

Posted at

#ラムダ式の使い方
ラムダ式とは、無名関数を記述するための方法。Pythonでのラムダ式の書き方は以下のようになる。

lambda <引数>: <処理>

通常の関数定義とラムダ式を比較してみる。

# 通常の関数
def function(x, y):
    return x * y

# ラムダ式
lambda x, y: x * y

実装例

ラムダ式は、関数を別の関数の引数として渡すとき、特に高階関数の引数として関数を渡すときにラムダ式が使われることがある。
例えば、sorted()を使ってオブジェクトのプロパティでソートしたい場合以下のようにラムダ式を使って書くことができる。

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

    def __repr__(self):
        return "%s:%d" % (self.name, self.age)

student = [Person("Yamada", 16), Person("Sato", 13), Person("Ito", 15)]

# 名前でソート
result_name = sorted(student, key=lambda h: h.name)
print(result_name)    # [Ito:15, Sato:13, Yamada:16]
# 年齢でソート
result_age = sorted(student, key=lambda h: h.age)
print(result_age)    # [Sato:13, Ito:15, Yamada:16]
0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?