Heim >Backend-Entwicklung >Python-Tutorial >Wie sortiere ich eine Python-Liste nach mehreren Feldern mithilfe von „sorted()' und Lambda-Ausdrücken?
Sortieren einer Python-Liste nach mehreren Feldern
Wenn Sie mit sorted() eine Liste aus einer sortierten CSV-Datei erstellt haben, möchten Sie möglicherweise um die Liste nach zusätzlichen Kriterien weiter zu sortieren. Um eine Python-Liste nach zwei Feldern zu sortieren, können Sie eine Kombination aus der Funktion sorted() und Lambda-Ausdrücken verwenden.
In Ihrem Fall können Sie die Liste list1 nach dem Wert in Feld 1 und dann nach sortieren Wert in Feld 2 mit dem folgenden Code:
sorted_list = sorted(list1, key=lambda x: (x[0], x[1]))
Das Schlüsselargument in sorted() übernimmt eine Funktion, die die Sortierreihenfolge bestimmt. In diesem Fall gibt die Lambda-Funktion ein Tupel von Werten zurück, die zur Sortierung verwendet werden. Das erste Element des Tupels ist der Wert in Feld 1 und das zweite Element ist der Wert in Feld 2.
Um ein Feld aufsteigend und ein anderes Feld absteigend zu sortieren, können Sie in der Lambda-Funktion negative Werte verwenden . Um beispielsweise Feld 1 aufsteigend und Feld 2 absteigend zu sortieren, verwenden Sie den folgenden Code:
sorted_list = sorted(list1, key=lambda x: (x[0], -x[1]))
Das obige ist der detaillierte Inhalt vonWie sortiere ich eine Python-Liste nach mehreren Feldern mithilfe von „sorted()' und Lambda-Ausdrücken?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!