Heim > Backend-Entwicklung > Python-Tutorial > Wie sortiere ich eine Python-Liste nach mehreren Feldern mithilfe von „sorted()' und Lambda-Ausdrücken?

Wie sortiere ich eine Python-Liste nach mehreren Feldern mithilfe von „sorted()' und Lambda-Ausdrücken?

Mary-Kate Olsen
Freigeben: 2024-11-25 19:28:17
Original
1090 Leute haben es durchsucht

How to Sort a Python List by Multiple Fields Using `sorted()` and Lambda Expressions?

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]))
Nach dem Login kopieren

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]))
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage