ホームページ > バックエンド開発 > Python チュートリアル > Python の `sorted()` 関数で特定のキーのソート順序を逆にする方法は?

Python の `sorted()` 関数で特定のキーのソート順序を逆にする方法は?

Susan Sarandon
リリース: 2024-11-02 17:38:29
オリジナル
515 人が閲覧しました

How to Reverse the Sort Order for Specific Keys in Python's `sorted()` Function?

Python で複数のキーを持つリストを並べ替える: 1 つは逆順

複数の条件でリストを整理する場合、Python の組み込みの並べ替え() 関数は多用途のツールを提供します。ただし、特定のキーのソート順序を逆にするという要件が常に満たされるとは限りません。

問題の理解

タプルのリストがあるシナリオを考えてみましょう。 2 つの要素を含む:

myList = [(ele1A, ele2A),(ele1B, ele2B),(ele1C, ele2C)]
ログイン後にコピー

このリストを 2 つのキーを使用して並べ替えることができます。1 つは大文字と小文字を区別しない (y[0]. lower())、もう 1 つは逆順 (y[1]) )。次のコードを使用すると、前者を実現できます:

sortedList = sorted(myList, key = lambda y: (y[0].lower(), y[1]))
ログイン後にコピー

ただし、並べ替え順序を逆にするには、reverse = True 引数を追加できます:

sortedList = sorted(myList, key = lambda y: (y[0].lower(), y[1]), reverse = True)
ログイン後にコピー

残念ながら、これにより並べ替えが逆になります。

問題の解決

この要件を満たすために、Python のラムダ関数の力を活用できます。ソート キーの用語の 1 つの前に負符号 (-) を導入すると、その特定のキーのソート順序が効果的に逆になります。例:

sortedList = sorted(myList, key = lambda y: (y[0].lower(), -y[1]))
ログイン後にコピー

このコードでは、-y[1] により 2 番目のキー (y[1]) のソート順序が逆になり、最初のキー (y[0]. lower() のソート順序が逆になります)。 ) は、大文字と小文字を区別せずに昇順のままです。

追加の例

並べ替え順序のさまざまな組み合わせを使用した追加の例をいくつか示します。

# Reverse both keys
sortedList = sorted(myList, key = lambda y: (-y[0].lower(), -y[1]))

# Reverse only the first key
sortedList = sorted(myList, key = lambda y: (-y[0].lower(), y[1]))
ログイン後にコピー

以上がPython の `sorted()` 関数で特定のキーのソート順序を逆にする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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