Sortieren, Abfragen und Verschachtelung
In diesem letzten Schritt erkunden Sie fortgeschrittenere Listenoperationen, einschließlich des Sortierens, des Abrufens von Informationen und der Arbeit mit verschachtelten Listen (nested lists).
Beginnen wir mit dem Sortieren. Die Methode sort() modifiziert die Liste direkt (in-place). Sie können sowohl aufsteigend als auch absteigend sortieren.
Öffnen Sie die Datei list_operations.py im WebIDE. Fügen Sie den folgenden Code hinzu, um das Sortieren zu demonstrieren:
## --- Sorting Lists ---
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
print("--- Sorting Lists ---")
print("Original numbers list:", numbers)
## Sort the list in-place (ascending)
numbers.sort()
print("After sort():", numbers)
## Sort the list in descending order
numbers.sort(reverse=True)
print("After sort(reverse=True):", numbers)
## The reverse() method simply reverses the order, it does not sort
letters = ['a', 'b', 'c', 'd']
print("\nOriginal letters list:", letters)
letters.reverse()
print("After reverse():", letters)
Speichern Sie die Datei und führen Sie sie im Terminal aus:
python ~/project/list_operations.py
Die Ausgabe zeigt die sortierten und umgekehrten Listen:
--- Sorting Lists ---
Original numbers list: [3, 1, 4, 1, 5, 9, 2, 6]
After sort(): [1, 1, 2, 3, 4, 5, 6, 9]
After sort(reverse=True): [9, 6, 5, 4, 3, 2, 1, 1]
Original letters list: ['a', 'b', 'c', 'd']
After reverse(): ['d', 'c', 'b', 'a']
Als Nächstes fragen wir eine Liste ab, um Informationen zu finden.
count(): Gibt die Häufigkeit (Anzahl) eines Wertes zurück.
index(): Gibt den Index des ersten Vorkommens eines Wertes zurück.
Fügen Sie den folgenden Code zu list_operations.py hinzu:
## --- Querying Lists ---
fruits = ['orange', 'apple', 'pear', 'banana', 'kiwi', 'apple', 'banana']
print("\n--- Querying Lists ---")
print("Fruits list:", fruits)
## Count the occurrences of an element
apple_count = fruits.count('apple')
print("Count of 'apple':", apple_count)
## Find the index of the first occurrence of an element
banana_index = fruits.index('banana')
print("Index of first 'banana':", banana_index)
Schließlich betrachten wir verschachtelte Listen (nested lists). Eine verschachtelte Liste ist eine Liste, die andere Listen als ihre Elemente enthält. Dies ist nützlich für die Erstellung von 2D-Strukturen wie einer Matrix oder einem Raster (Grid).
Fügen Sie diesen letzten Codeblock zu list_operations.py hinzu:
## --- Nested Lists ---
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
print("\n--- Nested Lists ---")
print("Matrix:", matrix)
## Access an entire inner list (a row)
first_row = matrix[0]
print("First row:", first_row)
## Access a specific element in the nested list
## To get the element '6', we access row 1, then column 2
element = matrix[1][2]
print("Element at matrix[1][2]:", element)
Speichern Sie die Datei und führen Sie das Skript ein letztes Mal aus:
python ~/project/list_operations.py
Die vollständige Ausgabe demonstriert das Sortieren, Abfragen und den Zugriff auf verschachtelte Listen:
--- Sorting Lists ---
Original numbers list: [3, 1, 4, 1, 5, 9, 2, 6]
After sort(): [1, 1, 2, 3, 4, 5, 6, 9]
After sort(reverse=True): [9, 6, 5, 4, 3, 2, 1, 1]
Original letters list: ['a', 'b', 'c', 'd']
After reverse(): ['d', 'c', 'b', 'a']
--- Querying Lists ---
Fruits list: ['orange', 'apple', 'pear', 'banana', 'kiwi', 'apple', 'banana']
Count of 'apple': 2
Index of first 'banana': 3
--- Nested Lists ---
Matrix: [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
First row: [1, 2, 3]
Element at matrix[1][2]: 6
Sie haben nun mehrere fortgeschrittene Techniken für die Arbeit mit Python-Listen gemeistert.