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
Mary-Kate OlsenOriginal
2024-11-25 19:28:171019Durchsuche

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]))

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!

Stellungnahme:
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