Heim > Artikel > Backend-Entwicklung > Wie sortiere ich eine Liste von Tupeln mit einem Schlüssel in umgekehrter Reihenfolge?
Sortieren einer Liste mit mehreren Schlüsseln, einschließlich eines in umgekehrter Reihenfolge
Bei der Arbeit mit Listen von Tupeln müssen wir möglicherweise sortieren Sie basieren auf mehreren Kriterien, von denen eines in umgekehrter Reihenfolge sein sollte. Dieser Artikel befasst sich mit dieser Herausforderung und bietet einen pythonischen Ansatz zum Sortieren einer Liste nach zwei Schlüsseln, wobei einer in aufsteigender Reihenfolge und der andere in absteigender Reihenfolge sortiert ist.
Das Problem verstehen
Betrachten Sie eine Liste von Tupeln wie myList = [(ele1A, ele2A),(ele1B, ele2B),(ele1C, ele2C)]. Das Sortieren dieser Liste mit zwei Schlüsseln bedeutet, sie basierend auf dem ersten und zweiten Element jedes Tupels zu organisieren. Wir können die Funktion sorted() verwenden, um die Liste zu sortieren, indem wir eine benutzerdefinierte Schlüsselfunktion übergeben, die die Sortierkriterien angibt:
<code class="python">sortedList = sorted(myList, key = lambda y: (y[0].lower(), y[1]))</code>
Dieser Code sortiert die Liste in aufsteigender Reihenfolge für beide Schlüssel. Um den ersten Schlüssel in absteigender Reihenfolge zu sortieren, können wir den folgenden Code verwenden:
<code class="python">sortedList = sorted(myList, key = lambda y: (y[0].lower(), -y[1]))</code>
Dieser Code sortiert jedoch beide Schlüssel in absteigender Reihenfolge. Um nur den ersten Schlüssel in absteigender Reihenfolge und den zweiten Schlüssel in aufsteigender Reihenfolge zu sortieren, können wir den folgenden Code verwenden:
<code class="python">sortedList = sorted(myList, key = lambda y: (-y[0].lower(), y[1]))</code>
Dieser Code sortiert die Tupel nach dem ersten Schlüssel in umgekehrter alphabetischer Reihenfolge (absteigend) und durch die zweite Taste in alphabetischer Reihenfolge (aufsteigend).
Beispiel
Wenden wir diese Sortiermethode auf die gegebene Liste myList an:
<code class="python">myList = [('Ele1A', 'Ele2A'), ('Ele1B', 'Ele2B'), ('Ele1C', 'Ele2C')] sortedList = sorted(myList, key = lambda y: (-y[0].lower(), y[1])) # Print the sorted list print(sortedList)</code>
Ausgabe:
[('Ele1C', 'Ele2C'), ('Ele1B', 'Ele2B'), ('Ele1A', 'Ele2A')]
Wie wir sehen können, ist die Liste nach dem ersten Schlüssel in umgekehrter alphabetischer Reihenfolge und nach dem zweiten Schlüssel in alphabetischer Reihenfolge sortiert, wodurch die Anforderungen des Problems erfüllt werden.
Das obige ist der detaillierte Inhalt vonWie sortiere ich eine Liste von Tupeln mit einem Schlüssel in umgekehrter Reihenfolge?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!