So sortieren Sie Listen und Wörterbücher in Python

Sortieren ist eine grundlegende Operation in der Programmierung, mit der Sie Daten in einer gewünschten Reihenfolge organisieren können. Python bietet robuste Tools zum Sortieren von Listen und Wörterbüchern, sodass Sie Daten einfach und effizient bearbeiten können. In diesem Artikel erfahren Sie, wie Sie sowohl Listen als auch Wörterbücher in Python sortieren können, einschließlich verschiedener Methoden und Beispiele.

Listen sortieren

Listen sind eine der am häufigsten verwendeten Datenstrukturen in Python. Sie können Listen mit der integrierten Methode sort() oder der Funktion sorted() sortieren. So funktioniert jede Methode:

Verwenden von sort()

Die Methode sort() sortiert eine Liste direkt, d. h. sie ändert die ursprüngliche Liste und gibt keine neue Liste zurück. Standardmäßig wird in aufsteigender Reihenfolge sortiert.

# Example: Sorting a list in ascending order
numbers = [4, 2, 9, 1, 5]
numbers.sort()
print(numbers)  # Output: [1, 2, 4, 5, 9]

# Example: Sorting a list in descending order
numbers = [4, 2, 9, 1, 5]
numbers.sort(reverse=True)
print(numbers)  # Output: [9, 5, 4, 2, 1]

In den obigen Beispielen sortiert die Methode sort() die Liste numbers zuerst in aufsteigender und dann in absteigender Reihenfolge mit dem Parameter reverse=True.

Verwenden von sorted()

Die Funktion sorted() gibt eine neue sortierte Liste zurück und ändert die ursprüngliche Liste nicht. Sie können außerdem die Sortierreihenfolge mit dem Parameter reverse festlegen.

# Example: Using sorted() to get a new sorted list
numbers = [4, 2, 9, 1, 5]
sorted_numbers = sorted(numbers)
print(sorted_numbers)  # Output: [1, 2, 4, 5, 9]
print(numbers)  # Output: [4, 2, 9, 1, 5] (original list is unchanged)

# Example: Using sorted() to get a new sorted list in descending order
sorted_numbers_desc = sorted(numbers, reverse=True)
print(sorted_numbers_desc)  # Output: [9, 5, 4, 2, 1]

Hier gibt sorted() eine neue Liste sorted_numbers zurück, ohne die ursprüngliche Liste numbers zu ändern. Sie können mit dem Parameter reverse=True auch in absteigender Reihenfolge sortieren.

Wörterbücher sortieren

Beim Sortieren von Wörterbüchern wird das Wörterbuch nach Schlüsseln oder Werten sortiert. Im Gegensatz zu Listen sind Wörterbücher bis Python 3.7 von Natur aus ungeordnet, ab diesem Zeitpunkt wird die Einfügereihenfolge beibehalten. So können Sie Wörterbücher sortieren:

Sortieren nach Schlüsseln

Um ein Wörterbuch nach seinen Schlüsseln zu sortieren, verwenden Sie die Funktion sorted() zusammen mit Wörterbuchverständnissen oder Schleifen.

# Example: Sorting a dictionary by keys
data = {'banana': 3, 'apple': 4, 'orange': 2}
sorted_by_keys = {key: data[key] for key in sorted(data)}
print(sorted_by_keys)  # Output: {'apple': 4, 'banana': 3, 'orange': 2}

In diesem Beispiel wird das Wörterbuch data nach seinen Schlüsseln sortiert, was zu einem neuen Wörterbuch sorted_by_keys führt, in dem die Schlüssel in aufsteigender Reihenfolge angeordnet sind.

Sortieren nach Werten

Um ein Wörterbuch nach seinen Werten zu sortieren, können Sie die Funktion sorted() auf die Elemente des Wörterbuchs anwenden und dann ein neues Wörterbuch erstellen.

# Example: Sorting a dictionary by values
data = {'banana': 3, 'apple': 4, 'orange': 2}
sorted_by_values = dict(sorted(data.items(), key=lambda item: item[1]))
print(sorted_by_values)  # Output: {'orange': 2, 'banana': 3, 'apple': 4}

Hier gibt data.items() eine Liste von Tupeln zurück, und sorted() wird verwendet, um diese Tupel mithilfe einer Lambda-Funktion nach dem zweiten Element (Wert) zu sortieren. Das Ergebnis ist ein neues Wörterbuch sorted_by_values mit Werten in aufsteigender Reihenfolge.

Abschluss

Das Sortieren von Listen und Wörterbüchern in Python ist dank der Methode sort() und der Funktion sorted() für Listen sowie verschiedener Techniken für Wörterbücher unkompliziert und leistungsstark. Das Verständnis dieser Methoden hilft Ihnen dabei, Daten effektiver zu verwalten und zu analysieren. Experimentieren Sie mit diesen Sortiertechniken, um zu sehen, wie sie auf Ihre eigenen Projekte angewendet werden können!