So prüfen Sie, ob eine Menge in Python sortiert ist, wenn sie in eine Liste umgewandelt wird

PythonPythonBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie feststellen können, ob eine Menge (set), wenn sie in Python in eine Liste (list) umgewandelt wird, zu einer sortierten Liste führt. Das Lab untersucht die Umwandlung von Listen in Mengen, um Duplikate zu entfernen, und zeigt, wie Sie eine Menge mithilfe der list()-Funktion wieder in eine Liste umwandeln können.

Anschließend lernen Sie, wie Sie überprüfen können, ob die resultierende Liste sortiert ist, indem Sie sie mit einer sortierten Version von sich selbst vergleichen. Dies umfasst das Erstellen von Python-Skripten, um Listen in Mengen umzuwandeln, die resultierenden Mengen auszugeben, die Mengen wieder in Listen umzuwandeln und schließlich eine Methode zu implementieren, um zu überprüfen, ob die Liste sortiert ist.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/sets("Sets") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") subgraph Lab Skills python/lists -.-> lab-559565{{"So prüfen Sie, ob eine Menge in Python sortiert ist, wenn sie in eine Liste umgewandelt wird"}} python/sets -.-> lab-559565{{"So prüfen Sie, ob eine Menge in Python sortiert ist, wenn sie in eine Liste umgewandelt wird"}} python/build_in_functions -.-> lab-559565{{"So prüfen Sie, ob eine Menge in Python sortiert ist, wenn sie in eine Liste umgewandelt wird"}} python/data_collections -.-> lab-559565{{"So prüfen Sie, ob eine Menge in Python sortiert ist, wenn sie in eine Liste umgewandelt wird"}} end

Untersuchung der Mengenumwandlung

In diesem Schritt lernen Sie, wie Sie in Python eine Liste (list) in eine Menge (set) umwandeln. Mengen sind ungeordnete Sammlungen eindeutiger Elemente. Das bedeutet, dass eine Menge keine doppelten Werte enthalten kann. Das Umwandeln einer Liste in eine Menge ist eine nützliche Methode, um doppelte Elemente aus der Liste zu entfernen.

Zunächst erstellen wir eine Python-Datei namens convert_to_set.py in Ihrem ~/project-Verzeichnis mithilfe des VS Code-Editors.

## Create a list with duplicate elements
my_list = [1, 2, 2, 3, 4, 4, 5]

## Convert the list to a set
my_set = set(my_list)

## Print the set
print(my_set)

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 die folgende Ausgabe sehen:

{1, 2, 3, 4, 5}

Wie Sie sehen können, wurden die doppelten Elemente entfernt, und die Menge enthält nur eindeutige Werte.

Versuchen wir ein weiteres Beispiel mit Strings:

## Create a list of strings with duplicates
string_list = ["apple", "banana", "apple", "orange", "banana"]

## Convert the list to a set
string_set = set(string_list)

## Print the set
print(string_set)

Speichern Sie die Änderungen in convert_to_set.py und führen Sie das Skript erneut aus:

python convert_to_set.py

Die Ausgabe wird sein:

{'orange', 'banana', 'apple'}

Beachten Sie, dass die Reihenfolge der Elemente in der Menge von der ursprünglichen Liste abweichen kann, da Mengen ungeordnet sind.

Umwandlung in eine Liste und Prüfung auf Sortierung

In diesem Schritt lernen Sie, wie Sie eine Menge (set) wieder in eine Liste (list) umwandeln und dann prüfen, ob die Liste sortiert ist. Dies umfasst die Verwendung der list()-Funktion zur Umwandlung der Menge und anschließend den Vergleich der sortierten Liste mit der ursprünglichen Liste.

Wir verwenden weiterhin die Datei convert_to_set.py in Ihrem ~/project-Verzeichnis. Wir fügen Code hinzu, um die Menge wieder in eine Liste umzuwandeln und diese dann zu sortieren.

## 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)

## Print the list obtained from the set
print("List from set:", my_list_from_set)

## Sort the list
my_list_from_set.sort()

## Print the sorted list
print("Sorted list:", my_list_from_set)

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:

List from set: [1, 2, 3, 4, 5, 6, 9]
Sorted list: [1, 2, 3, 4, 5, 6, 9]

Die erste Zeile zeigt die aus der Menge erstellte Liste, die eindeutige Elemente enthält, aber möglicherweise nicht in der ursprünglichen Reihenfolge ist. Die zweite Zeile zeigt die sortierte Liste.

Jetzt fügen wir eine Prüfung hinzu, um zu sehen, ob die ursprüngliche Liste (mit entfernten Duplikaten und umgewandelt in eine Liste) 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)

## Sort the list
sorted_list = sorted(my_list_from_set)

## Check if the list is sorted
if my_list_from_set == sorted_list:
    print("The list is already sorted.")
else:
    print("The list is not sorted.")

## Print the sorted list
print("Sorted list:", sorted_list)

Führen Sie das Skript erneut aus:

python convert_to_set.py

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

The list is not sorted.
Sorted list: [1, 2, 3, 4, 5, 6, 9]

Dies zeigt an, dass die aus der Menge erhaltene Liste zunächst nicht sortiert war und die sorted()-Funktion verwendet wurde, um eine sortierte Version zu erstellen.

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.

Zusammenfassung

In diesem Lab (Praktikum) haben Sie gelernt, wie Sie in Python eine Liste in eine Menge (set) umwandeln können, um so effektiv doppelte Elemente zu entfernen. Mengen sind ungeordnete Sammlungen, daher kann die Reihenfolge der Elemente bei der Umwandlung ändern.

Sie haben auch begonnen, zu lernen, wie Sie eine Menge wieder in eine Liste umwandeln und prüfen können, ob die resultierende Liste sortiert ist. Dies umfasst die Verwendung der list()-Funktion und den Vergleich der sortierten Liste mit der ursprünglichen Liste.