Heim > Artikel > Backend-Entwicklung > Wie sortiere ich eine Liste von Listen in absteigender und aufsteigender Reihenfolge?
Sortieren einer Liste von Listen in absteigender und aufsteigender Reihenfolge
Bei einer gegebenen Liste von Listen mit zwei Elementen besteht das Ziel darin, die Listen zu sortieren Zuerst in absteigender Reihenfolge basierend auf dem ersten Element und dann in aufsteigender Reihenfolge basierend auf dem zweiten Element.
Um dies zu erreichen, können wir die Methode sort() zusammen mit einer benutzerdefinierten Schlüsselfunktion verwenden. Hier ist eine Lösung:
<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>
Das Schlüsselargument der Methode sort() gibt eine Funktion an, die die Sortierreihenfolge bestimmt. In diesem Fall definieren wir eine Lambda-Funktion, die eine Liste k übernimmt und ein Tupel zurückgibt. Das erste Element des Tupels ist das erste Element der Liste k[0], das für die absteigende Sortierung verwendet wird. Das zweite Element ist die Negation des zweiten Elements der Liste -k[1], die für die aufsteigende Sortierung verwendet wird.
Durch die Sortierung zuerst in absteigender Reihenfolge stellt reverse=True sicher, dass das erste Element jeder Liste ('a' oder 'b') wird in umgekehrter alphabetischer Reihenfolge sortiert. Anschließend ergibt sich durch die aufsteigende Sortierung des zweiten Elements eine Gesamtliste mit folgender Sortierung:
[['b', 1], ['b', 2], ['b', 3], ['a', 1], ['a', 2], ['a', 3]]
Damit wird effektiv das gewünschte Sortierkriterium erreicht.
Das obige ist der detaillierte Inhalt vonWie sortiere ich eine Liste von Listen in absteigender und aufsteigender Reihenfolge?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!