リストのリストを降順および昇順で並べ替える
2 つの要素を持つリストのリストが与えられた場合、目的はリストを並べ替えることです。最初は最初の要素に基づいて降順で、次に 2 番目の要素に基づいて昇順です。
これを実現するには、sort() メソッドとカスタム キー関数を併用します。解決策は次のとおりです。
<code class="python">L = [['a',1], ['a',2], ['a',3], ['b',1], ['b',2], ['b',3]] L.sort(key=lambda k: (k[0], -k[1]), reverse=True)</code>
sort() メソッドのキー引数は、並べ替え順序を決定する関数を指定します。この場合、リスト k を受け取りタプルを返すラムダ関数を定義します。タプルの最初の要素はリスト k[0] の最初の要素で、降順ソートに使用されます。 2 番目の要素は、リスト -k[1] の 2 番目の要素の否定であり、昇順の並べ替えに使用されます。
最初に降順で並べ替えることにより、reverse=True により各リストの最初の要素が確実に配置されます。 ('a' または 'b') は逆アルファベット順にソートされます。その後、2 番目の要素を昇順で並べ替えると、リスト全体が次のように並べ替えられます。
[['b', 1], ['b', 2], ['b', 3], ['a', 1], ['a', 2], ['a', 3]]
これにより、目的の並べ替え基準が効果的に達成されます。
以上がリストのリストを降順および昇順に並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。