Verwendung von sorted()
zum Vergleich
In diesem Schritt lernen Sie, wie Sie die sorted()
-Funktion zum Vergleich verwenden, ohne die ursprüngliche Liste zu ändern. Die sorted()
-Funktion gibt eine neue sortierte Liste aus dem übergebenen iterierbaren Objekt zurück, während die .sort()
-Methode die Liste direkt sortiert. Dies ist nützlich, wenn Sie die ursprüngliche Liste unverändert lassen möchten.
Wir verwenden weiterhin die Datei convert_to_set.py
in Ihrem ~/project
-Verzeichnis. Wir ändern den Code, um sorted()
zu verwenden und die resultierende Liste mit der ursprünglichen Liste zu vergleichen.
## Create a list with duplicate elements
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
## Convert the list to a set to remove duplicates
my_set = set(my_list)
## Convert the set back to a list
my_list_from_set = list(my_set)
## Use sorted() to get a new sorted list
sorted_list = sorted(my_list_from_set)
## Print the original list from set
print("Original list from set:", my_list_from_set)
## Print the sorted list
print("Sorted list:", sorted_list)
## Check if the original list is equal to the sorted list
if my_list_from_set == sorted_list:
print("The original list is sorted.")
else:
print("The original list is not sorted.")
Jetzt führen wir das Python-Skript aus. Öffnen Sie Ihr Terminal und navigieren Sie zum ~/project
-Verzeichnis:
cd ~/project
Führen Sie dann das Skript mit dem python
-Befehl aus:
python convert_to_set.py
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
Original list from set: [1, 2, 3, 4, 5, 6, 9]
Sorted list: [1, 2, 3, 4, 5, 6, 9]
The original list is sorted.
In diesem Fall war die aus der Menge erhaltene ursprüngliche Liste zufällig bereits sortiert. Ändern wir die ursprüngliche Liste, um sicherzustellen, dass sie zunächst nicht sortiert ist.
## Create a list with duplicate elements
my_list = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
## Convert the list to a set to remove duplicates
my_set = set(my_list)
## Convert the set back to a list
my_list_from_set = list(my_set)
## Shuffle the list to make sure it's not sorted
import random
random.shuffle(my_list_from_set)
## Use sorted() to get a new sorted list
sorted_list = sorted(my_list_from_set)
## Print the original list from set
print("Original list from set:", my_list_from_set)
## Print the sorted list
print("Sorted list:", sorted_list)
## Check if the original list is equal to the sorted list
if my_list_from_set == sorted_list:
print("The original list is sorted.")
else:
print("The original list is not sorted.")
Führen Sie das Skript erneut aus:
python convert_to_set.py
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
Original list from set: [9, 2, 4, 5, 6, 1, 3]
Sorted list: [1, 2, 3, 4, 5, 6, 9]
The original list is not sorted.
Jetzt ist die ursprüngliche Liste gemischt, und die sorted()
-Funktion liefert eine sortierte Version zum Vergleich, was zeigt, dass die ursprüngliche Liste unverändert bleibt.