順序が混在したリストの並べ替え
2 つの要素を含むリストのリストを指定した場合、特定の順序で並べ替えるのは困難な場合があります。通常、並べ替えは 1 つの基準を使用して行われます。ただし、この場合、最初の要素を降順に、2 番目の要素を昇順に基づいて並べ替える必要があります。
この混合並べ替えを実現するには、Python のラムダ関数と sort メソッドを利用できます。 sort メソッドの key 引数は、ソート順序を決定する関数を受け取ります。私たちが提供する関数は、各リストの両方の要素を考慮します。
両方の要素を処理する結合キーを作成するには、次のラムダ関数を使用できます。
<code class="python">lambda k: (k[0], -k[1])</code>
ここでは、タプルを使用して両方の要素を結合します。最初の要素はリストの最初の要素を表し、2 番目の要素は 2 番目の要素の負数です。この否定により、2 番目の要素の降順が保証されます。
これで、sort メソッドでこのラムダ関数を使用できるようになります。
<code class="python">L.sort(key=lambda k: (k[0], -k[1]), reverse=True)</code>
reverse=True 引数は、並べ替えを行う必要があることを指定します。これは、最初の要素の降順という要件と一致します。
結果として、リスト L は、最初の要素が降順、2 番目の要素が昇順で並べ替えられます。
<code class="python">[['b', 1], ['b', 2], ['b', 3], ['a', 1], ['a', 2], ['a', 3]]</code>
以上が順序が混在しているリストのリストを並べ替えるにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。