Heim  >  Artikel  >  Backend-Entwicklung  >  Wie sortiere ich Listen mit gemischter Reihenfolge?

Wie sortiere ich Listen mit gemischter Reihenfolge?

Linda Hamilton
Linda HamiltonOriginal
2024-10-21 16:33:29516Durchsuche

How to Sort Lists of Lists with Mixed Ordering?

Sortieren von Listen mit gemischter Reihenfolge

Bei einer Liste mit Listen mit zwei Elementen kann das Sortieren in einer bestimmten Reihenfolge eine Herausforderung sein. Typischerweise erfolgt die Sortierung anhand eines Kriteriums. In diesem Fall müssen wir jedoch basierend auf dem ersten Element in absteigender Reihenfolge und dem zweiten Element in aufsteigender Reihenfolge sortieren.

Um diese gemischte Sortierung zu erreichen, können wir Lambda-Funktionen und die Sortiermethode in Python verwenden. Das Schlüsselargument der Sortiermethode übernimmt eine Funktion, die die Sortierreihenfolge bestimmt. Die von uns bereitgestellte Funktion berücksichtigt beide Elemente jeder Liste.

Um einen kombinierten Schlüssel zu erstellen, der beide Elemente verarbeitet, können wir die folgende Lambda-Funktion verwenden:

<code class="python">lambda k: (k[0], -k[1])</code>

Hier sind wir Verwenden eines Tupels, um beide Elemente zu kombinieren. Das erste Element stellt das erste Element der Liste dar und das zweite Element ist das Negativ des zweiten Elements. Diese Negation stellt die absteigende Reihenfolge für das zweite Element sicher.

Jetzt können wir diese Lambda-Funktion in der Sortiermethode verwenden:

<code class="python">L.sort(key=lambda k: (k[0], -k[1]), reverse=True)</code>

Das Argument „reverse=True“ gibt an, dass die Sortierung durchgeführt werden soll in umgekehrter Reihenfolge, was unserer Anforderung einer absteigenden Reihenfolge für das erste Element entspricht.

Als Ergebnis wird die Liste L so sortiert, dass das erste Element absteigend und das zweite Element aufsteigend sortiert wird:

<code class="python">[['b', 1], ['b', 2], ['b', 3], ['a', 1], ['a', 2], ['a', 3]]</code>

Das obige ist der detaillierte Inhalt vonWie sortiere ich Listen mit gemischter 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