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!