Pythonでは、lambda
式を利用してリストをソートすることができます。lambda
は無名関数のことを指します。関数の名前が無いのが特徴です。
lambda式の基本
lambda
式は以下のように定義します。
a = lambda x : x + 10
print(a(3)) # 実行結果: 13
この例では、変数x
に対して、10を足すという関数をa
として定義しています。そのため、a
に3を入れると13という結果を返します。
リストのソートにlambda式を利用する
リストをソートする場合、sorted
関数のkey
パラメータにlambda
式を指定することで、ソートの基準をカスタマイズできます。
例えば、以下のようにリストの要素を誕生日でソートすることができます。
data = [
{ 'name': 'Taro', 'city': 'Tokyo', 'birthday': 19990303 },
{ 'name': 'Hanako', 'city': 'Osaka', 'birthday': 19990301 },
{ 'name': 'Jiro', 'city': 'Fukuoka', 'birthday': 19990302 }
]
sorted_data = sorted(data, key=lambda x: x['birthday'])
print(sorted_data)
このコードでは、lambda
式lambda x: x['birthday']
をsorted
関数のkey
パラメータに指定しています。これにより、data
リストの各要素(辞書)は'birthday'
キーの値に基づいてソートされます。
以上が、Pythonでlambda
式を利用したソート処理の基本的な使い方です。リストのソートにおいて、lambda
式は非常に強力なツールとなります。ぜひ積極的に活用してみてください。