Heim  >  Artikel  >  Backend-Entwicklung  >  Wie sortiere ich eine Liste von Listen in absteigender und aufsteigender Reihenfolge?

Wie sortiere ich eine Liste von Listen in absteigender und aufsteigender Reihenfolge?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-21 17:24:02437Durchsuche

How to Sort a List of Lists in Descending and Ascending Order?

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!

Stellungnahme:
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