Mehrfeldsortierung in Python-Listen
In Python ist das Sortieren einer Liste nach einem einzelnen Feld mit der Funktion sorted() und einfach der Schlüsselparameter. Was aber, wenn Sie nach mehreren Feldern sortieren müssen?
Um eine Liste nach zwei Feldern zu sortieren, können Sie die Leistungsfähigkeit von Lambda-Funktionen nutzen. So geht's:
list1 = sorted(csv1, key=operator.itemgetter(1))
Dieser Code sortiert die Liste nach dem Wert in Feld 1. Um nach dem Wert in Feld 1 und dann nach dem Wert in Feld 2 zu sortieren, verwenden Sie eine Lambda-Funktion:
sorted_list = sorted(list1, key=lambda x: (x[0], x[1]))
Diese Lambda-Funktion erstellt ein Tupel, das die Werte in Feld 1 und Feld 2 für jedes Element in der Liste enthält. Die Funktion sorted() sortiert dann die Liste nach dem ersten Element des Tupels (Feld 1) und dann nach dem zweiten Element (Feld 2).
Alternativ können Sie ein Feld aufsteigend und ein anderes absteigend sortieren:
sorted_list = sorted(list1, key=lambda x: (x[0], -x[1]))
Dieser Code sortiert nach dem Wert in Feld 1 aufsteigend und dem Wert in Feld 2 absteigend.
Bei Verwendung von Lambda-Funktionen müssen keine zusätzlichen Module importiert werden. Diese Methode bietet eine flexible und effiziente Möglichkeit, Python-Listen nach mehreren Feldern basierend auf Ihren spezifischen Anforderungen zu sortieren.
Das obige ist der detaillierte Inhalt vonWie sortiere ich Python-Listen nach mehreren Feldern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!