Listen modifizieren und sortieren
In diesem Schritt lernen Sie, wie Sie vorhandene Elemente in einer Liste modifizieren und wie Sie Listen sortieren.
Sie können Listenelemente modifizieren, indem Sie einem bestimmten Index oder einem Slice einen neuen Wert zuweisen.
Erstellen Sie eine neue Python-Datei namens list_modify_sort.py
im Verzeichnis ~/project
. Öffnen Sie die Datei und fügen Sie den folgenden Code hinzu, um die Modifikation von Elementen zu demonstrieren:
## Create a list
my_list = ['a', 'b', 'c', 'd', 'e']
print("Original list:", my_list)
## Modify an element by index
my_list[0] = 'A'
print("After modifying index 0:", my_list)
## Modify a slice
my_list[1:3] = ['B', 'C']
print("After modifying slice [1:3]:", my_list)
## Replace a slice with a different number of elements
my_list[3:] = ['D', 'E', 'F', 'G']
print("After replacing slice [3:]:", my_list)
## Clear a slice
my_list[1:4] = []
print("After clearing slice [1:4]:", my_list)
## Clear the entire list by assigning an empty list to a slice
my_list[:] = []
print("After clearing entire list:", my_list)
Speichern Sie die Datei und führen Sie das Skript aus:
python ~/project/list_modify_sort.py
Die Ausgabe zeigt die Liste nach jeder Modifikation:
Original list: ['a', 'b', 'c', 'd', 'e']
After modifying index 0: ['A', 'b', 'c', 'd', 'e']
After modifying slice [1:3]: ['A', 'B', 'C', 'd', 'e']
After replacing slice [3:]: ['A', 'B', 'C', 'D', 'E', 'F', 'G']
After clearing slice [1:4]: ['A', 'D', 'E', 'F', 'G']
After clearing entire list: []
Nun erkunden wir das Sortieren von Listen. Python-Listen verfügen über eine integrierte Methode sort()
, die die Liste direkt (in-place) sortiert. Standardmäßig wird aufsteigend sortiert.
Fügen Sie Ihrer Datei list_modify_sort.py
den folgenden Code hinzu, um das Sortieren zu demonstrieren:
## Sorting lists
print("\n--- Sorting Lists ---")
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
print("Original numbers list:", numbers)
## Sort the list in ascending order
numbers.sort()
print("After sort():", numbers)
## Sort the list in descending order using the reverse parameter
numbers.sort(reverse=True)
print("After sort(reverse=True):", numbers)
## Sorting a list of strings
words = ['banana', 'apple', 'Orange', 'Kiwi']
print("Original words list:", words)
## Default string sort (case-sensitive)
words.sort()
print("After sort() (case-sensitive):", words)
## Sort case-insensitively using the key parameter
words.sort(key=str.lower)
print("After sort(key=str.lower):", words)
## Sort by length using the key parameter
words.sort(key=len)
print("After sort(key=len):", words)
Speichern Sie die Datei und führen Sie das Skript aus:
python ~/project/list_modify_sort.py
Beobachten Sie die Ausgabe, um die verschiedenen Sortierverhalten zu sehen:
Original list: ['a', 'b', 'c', 'd', 'e']
After modifying index 0: ['A', 'b', 'c', 'd', 'e']
After modifying slice [1:3]: ['A', 'B', 'C', 'd', 'e']
After replacing slice [3:]: ['A', 'B', 'C', 'D', 'E', 'F', 'G']
After clearing slice [1:4]: ['A', 'D', 'E', 'F', 'G']
After clearing entire list: []
--- 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 words list: ['banana', 'apple', 'Orange', 'Kiwi']
After sort() (case-sensitive): ['Kiwi', 'Orange', 'apple', 'banana']
After sort(key=str.lower): ['apple', 'banana', 'Kiwi', 'Orange']
After sort(key=len): ['Kiwi', 'apple', 'Orange', 'banana']
Schließlich betrachten wir die Methode reverse()
, die die Elemente der Liste direkt (in-place) umkehrt. Dies unterscheidet sich vom Sortieren in umgekehrter Reihenfolge.
Fügen Sie Ihrer Datei list_modify_sort.py
den folgenden Code hinzu:
## Reversing a list
print("\n--- Reversing List ---")
letters = ['a', 'b', 'c', 'd']
print("Original letters list:", letters)
## Reverse the list
letters.reverse()
print("After reverse():", letters)
Speichern und führen Sie das Skript aus:
python ~/project/list_modify_sort.py
Die Ausgabe zeigt die umgekehrte Liste:
Original list: ['a', 'b', 'c', 'd', 'e']
After modifying index 0: ['A', 'b', 'c', 'd', 'e']
After modifying slice [1:3]: ['A', 'B', 'C', 'd', 'e']
After replacing slice [3:]: ['A', 'B', 'C', 'D', 'E', 'F', 'G']
After clearing slice [1:4]: ['A', 'D', 'E', 'F', 'G']
After clearing entire list: []
--- 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 words list: ['banana', 'apple', 'Orange', 'Kiwi']
After sort() (case-sensitive): ['Kiwi', 'Orange', 'apple', 'banana']
After sort(key=str.lower): ['apple', 'banana', 'Kiwi', 'Orange']
After sort(key=len): ['Kiwi', 'apple', 'Orange', 'banana']
--- Reversing List ---
Original letters list: ['a', 'b', 'c', 'd']
After reverse(): ['d', 'c', 'b', 'a']
Sie haben erfolgreich Listenelemente modifiziert und Listen mithilfe verschiedener Methoden sortiert/umgekehrt.