降順要素と昇順要素を含むネストされたリストの並べ替え
Python では、ネストされたリストを含むリストを並べ替える必要があるシナリオが発生することがあります。特定の並べ替え基準を使用して。次のようなリストを考えてみましょう:
['a',1] ['a',2] ['a',3] ['b',1] ['b',2] ['b',3]
タスクは、要素 0 (文字) が降順でソートされ、要素 1 (数字) が昇順でソートされるように、このリストをソートすることです。結果のリストは次のようになります。
['b',1] ['b',2] ['b',3] ['a',1] ['a',2] ['a',3]
この並べ替えを実現するには、Python の組み込み並べ替え関数と、複数の基準に基づいて並べ替えるカスタム キー関数を使用できます。 key 関数は、ネストされた各リストを入力として受け取り、並べ替えキーとして機能するタプルを生成します。
次のコード スニペットは、カスタム キー関数を使用してネストされたリストを並べ替える方法を示しています。
<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>
このコードでは、key 関数が最初の要素 (文字) と 2 番目の要素 (数字) の否定を使用してタプルを生成します。 2 番目の要素を否定すると、数値の昇順ソートを実行できます。 sort 関数に追加の reverse=True 引数を使用すると、タプル キーに基づいて降順で並べ替えることができます。
その結果、リスト L は希望どおりに並べ替えられるようになります。
[['b', 1], ['b', 2], ['b', 3], ['a', 1], ['a', 2], ['a', 3]]
このアプローチは、複数の並べ替え基準を使用してネストされたリストなどの複雑なデータ構造を並べ替える多目的な方法を提供します。
以上がPythonで降順要素と昇順要素を含むネストされたリストを並べ替える方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。