Verwendung von Slicing zur Umkehrung
In diesem Schritt werden Sie sich speziell darauf konzentrieren, wie Slicing in Python verwendet wird, um eine Liste umzukehren. Slicing ist ein leistungsfähiges Feature, das es Ihnen ermöglicht, Teile einer Liste zu extrahieren, und es kann auch verwendet werden, um eine umgekehrte Kopie der Liste zu erstellen.
Lassen Sie uns die Datei palindrome.py
erneut betrachten und die Slicing-Technik genauer untersuchen.
-
Öffnen Sie die Datei palindrome.py
in Ihrem VS Code-Editor.
-
Stellen Sie sicher, dass der Inhalt der Datei palindrome.py
wie folgt ist:
def is_palindrome(lst):
reversed_lst = lst[::-1]
return lst == reversed_lst
## Example lists
list1 = [1, 2, 3, 2, 1]
list2 = [1, 2, 3, 4, 5]
## Check if the lists are palindromes
print(f"{list1} is a palindrome: {is_palindrome(list1)}")
print(f"{list2} is a palindrome: {is_palindrome(list2)}")
Der Schlüsselteil dieses Codes ist lst[::-1]
. Dies ist eine Slicing-Operation, die eine umgekehrte Kopie der Liste erstellt. Lassen Sie uns es aufschlüsseln:
lst[:]
würde eine Kopie der gesamten Liste erstellen.
lst[start:end]
würde einen Schnitt von Index start
bis end-1
erstellen.
lst[start:end:step]
ermöglicht es Ihnen, einen Schritt
anzugeben. Ein Schritt von -1
bedeutet, rückwärts durch die Liste zu iterieren.
- Indem Sie
start
und end
weglassen und einen Schritt von -1
verwenden (d. h. lst[::-1]
), erstellen Sie eine umgekehrte Kopie der gesamten Liste.
Um dies weiter zu veranschaulichen, fügen wir einige Print-Anweisungen hinzu, um die Wirkung des Slicings zu sehen:
def is_palindrome(lst):
reversed_lst = lst[::-1]
print(f"Original list: {lst}")
print(f"Reversed list: {reversed_lst}")
return lst == reversed_lst
## Example lists
list1 = [1, 2, 3, 2, 1]
list2 = [1, 2, 3, 4, 5]
## Check if the lists are palindromes
print(f"{list1} is a palindrome: {is_palindrome(list1)}")
print(f"{list2} is a palindrome: {is_palindrome(list2)}")
Jetzt führen Sie das Skript erneut aus:
python ~/project/palindrome.py
Sie werden die ursprüngliche und die umgekehrte Liste vor dem Ergebnis der Palindromprüfung sehen:
Original list: [1, 2, 3, 2, 1]
Reversed list: [1, 2, 3, 2, 1]
[1, 2, 3, 2, 1] is a palindrome: True
Original list: [1, 2, 3, 4, 5]
Reversed list: [5, 4, 3, 2, 1]
[1, 2, 3, 4, 5] is a palindrome: False
Dies zeigt, wie Slicing mit [::-1]
effektiv die Liste umkehrt, die dann verwendet wird, um zu bestimmen, ob die ursprüngliche Liste ein Palindrom ist.