Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich eine Python-Liste nach mehreren Feldern sortieren?

Wie kann ich eine Python-Liste nach mehreren Feldern sortieren?

DDD
DDDOriginal
2024-11-18 08:35:021051Durchsuche

How Can I Sort a Python List by Multiple Fields?

Sortieren einer Python-Liste nach mehreren Feldern

Beim Arbeiten mit sortierten Listen kann es notwendig sein, nach mehreren Kriterien zu sortieren. Dies ist wichtig, wenn im ersten Sortierschlüssel Unstimmigkeiten bestehen und Sie diese mithilfe eines zweiten Schlüssels auflösen möchten.

Um eine Liste in Python nach zwei Feldern zu sortieren, können Sie Lambda-Funktionen mit sorted() verwenden. Funktion. Dadurch können Sie mehrere Sortierschlüssel in einem einzigen Ausdruck angeben.

list1 = sorted(csv1, key=lambda x: (x[0], x[1]))

In diesem Beispiel wird die Liste nach dem Wert in Feld 1 und dann nach dem Wert in Feld 2 sortiert. Die Lambda-Funktion übernimmt das Element als Eingabe und gibt ein Tupel des ersten Feldwerts und des zweiten Feldwerts zurück. Die Funktion sorted() sortiert dann die Liste basierend auf den zurückgegebenen Tupeln.

Sie können diese Technik auch verwenden, um ein Feld aufsteigend und ein anderes Feld absteigend zu sortieren:

sorted_list = sorted(list, key=lambda x: (x[0], -x[1]))

In diesem Beispiel , wird die Liste nach dem ersten Feldwert und dann nach dem zweiten Feldwert in absteigender Reihenfolge sortiert (aufgrund des negativen Vorzeichens). Dies kann nützlich sein, wenn Sie für jeden eindeutigen Wert im ersten Feld nach den höchsten Werten im zweiten Feld sortieren möchten.

Das obige ist der detaillierte Inhalt vonWie kann ich eine Python-Liste nach mehreren Feldern sortieren?. 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