Pythonで降順要素と昇順要素を含むネストされたリストを並べ替える方法は?

Linda Hamilton
リリース: 2024-10-21 16:41:02
オリジナル
622 人が閲覧しました

How to Sort a Nested List with Descending and Ascending Elements in Python?

降順要素と昇順要素を含むネストされたリストの並べ替え

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 サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート