Heim >Backend-Entwicklung >Python-Tutorial >Wie sortiere ich Listen/Tupel von Listen/Tupeln basierend auf einem bestimmten Index?
Sortieren von Listen/Tupeln von Listen/Tupeln basierend auf einem Element an einem bestimmten Index
Datenstrukturen wie Listen und Tupel enthalten oft Elemente, die Folgendes umfassen Unterlisten oder Subtupel. Wenn Sie vor der Aufgabe stehen, eine solche Struktur basierend auf einem Element innerhalb jeder Teilmenge zu sortieren, bieten die folgenden Techniken effektive Lösungen.
Verwendung von Tupeln oder Listen
Sowohl Tupel als auch Listen sind gültige Optionen zum Speichern Ihrer Daten. Tupel sind unveränderlich, was bedeutet, dass ihr Inhalt nach der Erstellung nicht geändert werden kann. Listen hingegen sind veränderbar und ermöglichen Änderungen an ihren Elementen. Zu Sortierzwecken hängt die Wahl zwischen ihnen von Ihrem spezifischen Szenario ab.
Sortierung nach zweitem Element
Um eine Liste/ein Tupel von Listen/Tupeln basierend auf dem zweiten Element zu sortieren Element in jeder Teilmenge, können Sie die in Python integrierte Funktion sorted() verwenden. Diese Funktion benötigt ein optionales Schlüsselargument, das das Sortierkriterium angibt.
Verwendung von sorted() mit einer Lambda-Funktion
Ein eleganter Ansatz besteht darin, eine Lambda-Funktion als zu verwenden das entscheidende Argument. Um beispielsweise nach dem zweiten Element in einer Liste von Listen zu sortieren, können Sie Folgendes tun:
sorted_by_second = sorted(data, key=lambda tup: tup[1])
An Ort und Stelle sortieren
Wenn Sie sortieren möchten Um die ursprüngliche Liste/das ursprüngliche Tupel an Ort und Stelle zu behalten, ohne eine neue sortierte Liste zu erstellen, können Sie stattdessen die Methode sort() verwenden. Diese Methode akzeptiert auch ein Schlüsselargument:
data.sort(key=lambda tup: tup[1]) # sorts in place
Sortierreihenfolge anpassen
Standardmäßig erfolgt die Sortierung in aufsteigender Reihenfolge. Um in absteigender Reihenfolge zu sortieren, geben Sie die umgekehrte Option an:
sorted_by_second = sorted(data, key=lambda tup: tup[1], reverse=True)
In-Place-Sortierung mit umgekehrter Reihenfolge
Um die ursprüngliche Liste/das ursprüngliche Tupel an Ort und Stelle in absteigender Reihenfolge zu sortieren bestellen, verwenden:
data.sort(key=lambda tup: tup[1], reverse=True) # sorts in place
Das obige ist der detaillierte Inhalt vonWie sortiere ich Listen/Tupel von Listen/Tupeln basierend auf einem bestimmten Index?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!