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

Wie sortiere ich Listen nach mehreren Attributen in Python?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-02 22:02:39913Durchsuche

How to Sort Lists by Multiple Attributes in Python?

Sortieren von Listen nach mehreren Attributen: Eine umfassende Anleitung

Das Sortieren von Daten ist ein grundlegender Aspekt vieler Programmieraufgaben. Beim Umgang mit komplexen Datenstrukturen ist es häufig erforderlich, nach mehreren Attributen zu sortieren. Dieser Artikel befasst sich mit der Frage, wie eine Liste von Listen nach mehreren Kriterien sortiert werden kann.

Der bereitgestellte Codeausschnitt zeigt eine Liste von Listen, wobei jede innere Liste ein Objekt mit verschiedenen Attributen darstellt. Das Ziel besteht darin, diese Liste nach zwei Attributen zu sortieren: dem Attribut „groß“ oder „klein“ und dem Farbattribut.

Itemgetter für die Sortierung nach mehreren Kriterien verwenden

Itemgetter ist eine nützliche Funktion für Indizieren mehrerer Attribute in einem Tupel. Es verwendet mehrere Indizes als Argumente und gibt eine Funktion zurück, die diese Attribute aus einem bestimmten Tupel extrahiert. Mit itemgetter können Sie eine Schlüsselfunktion erstellen, die sowohl das Attribut „groß/kurz“ als auch das Farbattribut für die Sortierung berücksichtigt:

import operator

s = sorted(s, key = operator.itemgetter(1, 2))

Verwenden von Lambda-Funktionen für die Auswahl von Schlüsselattributen

Eine andere Möglichkeit dazu Geben Sie eine Schlüsselfunktion für die Sortierung an und verwenden Sie Lambda-Funktionen. Lambda-Funktionen sind anonyme Funktionen, die inline definiert werden können. Die folgende Lambda-Funktion gibt ein Tupel der Attribute „groß/kurz“ und „Farbe“ zurück:

s = sorted(s, key = lambda x: (x[1], x[2]))

Mit einer dieser Methoden können Sie die Liste nach mehreren Kriterien sortieren. Das Ergebnis ist eine Liste von Listen, sortiert nach den angegebenen Attributen.

Direkte Sortierung

Im angegebenen Codeausschnitt wird „sorted“ verwendet, um eine neue sortierte Liste zurückzugeben. Sie können die Liste selbst jedoch auch direkt mit der Sortiermethode sortieren. Dadurch wird die ursprüngliche Liste an Ort und Stelle geändert:

s.sort(key = operator.itemgetter(1, 2))

Fazit

Durch die Verwendung von Itemgetter- oder Lambda-Funktionen können Sie Schlüsselfunktionen definieren, um Listen nach mehreren Attributen zu sortieren. Diese Technik ist besonders nützlich beim Umgang mit komplexen Datenstrukturen und kann den Sortierprozess vereinfachen.

Das obige ist der detaillierte Inhalt vonWie sortiere ich Listen nach mehreren Attributen in Python?. 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
Vorheriger Artikel:RoadMap für ML-IngenieureNächster Artikel:RoadMap für ML-Ingenieure