\

Pythonのリストには、リストをその場で変更する組み込みの list.sort() メソッドがあります。また、イテラブルから新しいソートされたリストを作成する sorted() という組み込み関数もあります。

list.sort()sorted() には、比較のための各リスト要素に対して呼び出される関数を指定する key パラメータがあります。

例えば、次のようなリストがあるとします。

l = [[1, 5, 'e'], [1, 2, 's'], [0, 4, 'e']]

このリストを、第一要素でソートし、第一要素が同じ場合は ‘s’ が先に来るようにソートしたいとします。その場合、次のように list.sort() を使用します。

l.sort(key=lambda x: (x[0], -ord(x[2])))

これにより、リストは次のようにソートされます。

[[0, 4, 'e'], [1, 2, 's'], [1, 5, 'e']]

このように、Pythonの list.sort()sorted() を使用すると、カスタムの述語を使用してリストを効率的にソートすることができます。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です