順序が混在したリストの並べ替え
2 つの要素を含むリストのリストを特定の順序で並べ替えるのは困難な場合があります。通常、並べ替えは 1 つの基準を使用して行われます。ただし、この場合は、最初の要素を降順で並べ替え、2 番目の要素を昇順で並べ替える必要があります。
この混合並べ替えを実現するには、Python のラムダ関数と sort メソッドを利用できます。 sort メソッドの key 引数は、ソート順序を決定する関数を受け取ります。私たちが提供する関数は、各リストの両方の要素を考慮します。
両方の要素を処理する結合キーを作成するには、次のラムダ関数を使用できます:
lambda k: (k[0], -k[1])
ここでは、タプルを使用して両方の要素を結合しています。最初の要素はリストの最初の要素を表し、2 番目の要素は 2 番目の要素の否定です。この否定により、2 番目の要素の降順が保証されます。
これで、ソート メソッドでこのラムダ関数を使用できるようになります。
L.sort(key=lambda k: (k[0], -k[1]), reverse=True)
reverse=True 引数は、ソートが逆の順序で行われることを指定しており、これは要件と一致しています。
その結果、リスト L は、最初の要素が降順、2 番目の要素が昇順でソートされます:
[['b', 1], ['b', 2], ['b', 3], ['a', 1], ['a', 2], ['a', 3]]
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3