„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie sortiere ich Listen mit gemischter Reihenfolge?

Wie sortiere ich Listen mit gemischter Reihenfolge?

Veröffentlicht am 08.11.2024
Durchsuche:741

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 nach einem Kriterium. 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:

lambda k: (k[0], -k[1])

Hier verwenden wir ein Tupel, 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:

L.sort(key=lambda k: (k[0], -k[1]), reverse=True)

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

Als Ergebnis wird die Liste L mit dem ersten Element absteigend und dem zweiten Element aufsteigend sortiert:

[['b', 1], ['b', 2], ['b', 3], ['a', 1], ['a', 2], ['a', 3]]
Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729499538 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3