Heim >Backend-Entwicklung >Python-Tutorial >Wie sortiere ich Listen/Tupel von Listen/Tupeln basierend auf einem bestimmten Index?

Wie sortiere ich Listen/Tupel von Listen/Tupeln basierend auf einem bestimmten Index?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-19 07:26:12224Durchsuche

How to Sort Lists/Tuples of Lists/Tuples Based on a Specific Index?

Sortieren von Listen/Tupeln von Listen/Tupeln basierend auf einem Element an einem bestimmten Index

Datenstrukturen wie Listen und Tupel enthalten oft Elemente, die Folgendes umfassen Unterlisten oder Subtupel. Wenn Sie vor der Aufgabe stehen, eine solche Struktur basierend auf einem Element innerhalb jeder Teilmenge zu sortieren, bieten die folgenden Techniken effektive Lösungen.

Verwendung von Tupeln oder Listen

Sowohl Tupel als auch Listen sind gültige Optionen zum Speichern Ihrer Daten. Tupel sind unveränderlich, was bedeutet, dass ihr Inhalt nach der Erstellung nicht geändert werden kann. Listen hingegen sind veränderbar und ermöglichen Änderungen an ihren Elementen. Zu Sortierzwecken hängt die Wahl zwischen ihnen von Ihrem spezifischen Szenario ab.

Sortierung nach zweitem Element

Um eine Liste/ein Tupel von Listen/Tupeln basierend auf dem zweiten Element zu sortieren Element in jeder Teilmenge, können Sie die in Python integrierte Funktion sorted() verwenden. Diese Funktion benötigt ein optionales Schlüsselargument, das das Sortierkriterium angibt.

Verwendung von sorted() mit einer Lambda-Funktion

Ein eleganter Ansatz besteht darin, eine Lambda-Funktion als zu verwenden das entscheidende Argument. Um beispielsweise nach dem zweiten Element in einer Liste von Listen zu sortieren, können Sie Folgendes tun:

sorted_by_second = sorted(data, key=lambda tup: tup[1])

An Ort und Stelle sortieren

Wenn Sie sortieren möchten Um die ursprüngliche Liste/das ursprüngliche Tupel an Ort und Stelle zu behalten, ohne eine neue sortierte Liste zu erstellen, können Sie stattdessen die Methode sort() verwenden. Diese Methode akzeptiert auch ein Schlüsselargument:

data.sort(key=lambda tup: tup[1])  # sorts in place

Sortierreihenfolge anpassen

Standardmäßig erfolgt die Sortierung in aufsteigender Reihenfolge. Um in absteigender Reihenfolge zu sortieren, geben Sie die umgekehrte Option an:

sorted_by_second = sorted(data, key=lambda tup: tup[1], reverse=True)

In-Place-Sortierung mit umgekehrter Reihenfolge

Um die ursprüngliche Liste/das ursprüngliche Tupel an Ort und Stelle in absteigender Reihenfolge zu sortieren bestellen, verwenden:

data.sort(key=lambda tup: tup[1], reverse=True)  # sorts in place

Das obige ist der detaillierte Inhalt vonWie sortiere ich Listen/Tupel von Listen/Tupeln basierend auf einem bestimmten Index?. 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