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

Wie sortiere ich Python-Listen nach mehreren Feldern?

DDD
Freigeben: 2024-11-21 07:38:10
Original
221 Leute haben es durchsucht

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

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

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

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!

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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage