Heim >Backend-Entwicklung >Python-Tutorial >Wie sortiere ich Python-Listen nach mehreren Feldern?

Wie sortiere ich Python-Listen nach mehreren Feldern?

DDD
DDDOriginal
2024-11-21 07:38:10233Durchsuche

How to Sort Python Lists by Multiple Fields?

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!

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