Wie sortiere ich eine verschachtelte Liste mit absteigenden und aufsteigenden Elementen in Python?

Linda Hamilton
Freigeben: 2024-10-21 16:41:02
Original
622 Leute haben es durchsucht

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

Sortieren einer verschachtelten Liste mit absteigenden und aufsteigenden Elementen

In Python können Sie auf Szenarien stoßen, in denen Sie eine Liste mit verschachtelten Listen sortieren müssen mit bestimmten Sortierkriterien. Stellen Sie sich eine Liste wie diese vor:

['a',1] ['a',2] ['a',3] ['b',1] ['b',2] ['b',3]
Nach dem Login kopieren

Die Aufgabe besteht darin, diese Liste so zu sortieren, dass Element 0 (der Buchstabe) in absteigender Reihenfolge sortiert wird, während Element 1 (die Zahl) in aufsteigender Reihenfolge sortiert wird. Die resultierende Liste sollte wie folgt aussehen:

['b',1] ['b',2] ['b',3] ['a',1] ['a',2] ['a',3]
Nach dem Login kopieren

Um diese Sortierung zu erreichen, können wir die integrierte Sortierfunktion von Python zusammen mit einer benutzerdefinierten Tastenfunktion verwenden, die nach mehreren Kriterien sortiert. Die Schlüsselfunktion nimmt jede verschachtelte Liste als Eingabe und generiert ein Tupel, das als Sortierschlüssel dient.

Der folgende Codeausschnitt zeigt, wie die verschachtelte Liste mithilfe der benutzerdefinierten Schlüsselfunktion sortiert wird:

<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>
Nach dem Login kopieren

In diesem Code generiert die Schlüsselfunktion ein Tupel unter Verwendung des ersten Elements (Buchstaben) und der Negation des zweiten Elements (Zahl). Durch Negieren des zweiten Elements können wir die aufsteigende Sortierung für Zahlen durchführen. Das zusätzliche Argument reverse=True in der Sortierfunktion sorgt für eine absteigende Sortierung basierend auf dem Tupelschlüssel.

Dadurch wird die Liste L nun wie gewünscht sortiert:

[['b', 1], ['b', 2], ['b', 3], ['a', 1], ['a', 2], ['a', 3]]
Nach dem Login kopieren

Dieser Ansatz bietet eine vielseitige Möglichkeit, komplexe Datenstrukturen wie verschachtelte Listen mit mehreren Sortierkriterien zu sortieren.

Das obige ist der detaillierte Inhalt vonWie sortiere ich eine verschachtelte Liste mit absteigenden und aufsteigenden Elementen in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage