#ラムダ式の使い方
ラムダ式とは、無名関数を記述するための方法。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]