python
1dive_into_code_2 = [(1, 'Den'), (2, 'Bob'), (3, 'Chan'), (4, 'Akira')]
2
3dic2 = dive_into_code_2
4dic2.sort(key=lambda dic2: dic2[1])
5
6print(dic2)
これを実行してもらうと、Akira Bob Chan Denの順でソートされるはずです。(名前の頭文字がabcでソートされてます。)
sortの引数で名前を指定(dic2[1]のこと)しているからです。
python
1dive_into_code_2 = [(11, 'Den'), (2, 'Bob'), (3, 'Chan'), (4, 'Akira')]
2
3dic2 = dive_into_code_2
4dic2.sort(key=lambda dic2: dic2[0]) #dic2[0]と変更
5
6print(dic2)
これを実行してもらうと、 Bob Chan Akira Denの順でソートされるはずです。(数字順でソートされてます。)
lambdaはかんたんです。
lambda 入力 : 出力
となっています。
https://qiita.com/nagataaaas/items/531b1fc5ce42a791c7df
要するに
dict.sort(key=lambda x:x[0]) #0番目でソート
dict.sort(key=lambda x:x[1]) #1番目でソート
です。
なぜ、lambdaかというと、自分もsortの詳細な実装は追えていないのですが、sort演算を行う際にその都度、要素のどこをみて並べ替えるのかという値を取得するためにlambdaをもちいているのではないかと思います。
https://qiita.com/yousuke_yamaguchi/items/23014a3c8d8beb8ba073