LoginSignup
1
1

More than 1 year has passed since last update.

sort()の中身のkeyとlambdaが分からない

Posted at

sort()のlamdaって何者?

python3エンジニア認定基礎試験問題集に以下のようなコードの記載があります。

toshi_code = [(42, 'naga'), (41, 'saga'), (40, 'fuku'), (43, 'kuma')]  
pref = toshi_code  
pref.sort (key = lambda pref: pref[0])  
print( pref) 

>>>[(40, 'fuku'), (41, 'saga'), (42, 'naga'), (43, 'kuma')]

outputがなぜこうなるのかわからなかったので、公式ドキュメントを漁ってみました。

pref.sort(key=lambda pref: pref[0])の解説

まずはsort()の公式ドキュメントを確認します。
すると、このような記述が。
「list.sort() と sorted() には key パラメータがあります。 これは比較を行う前にリストの各要素に対して呼び出される関数 (または呼び出し可能オブジェクト) を指定するパラメータです。」
すなわち今回は、prefの要素ひとつひとつに対してlambda関数が適用されているようです。

(lambda関数がわからない方は、こちらを参照されて下さい。)

pref.sort (key = lambda pref: pref[0])
は、prefの各要素の0番目の要素でprefをsortするということになります。

1
1
1

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
1
1