Wie man prüft, ob eine Menge in Python nur Zeichenketten enthält

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 prüfen können, ob eine Menge (Set) in Python nur Zeichenketten (Strings) enthält. Wir beginnen damit, die Grundlagen von Zeichenkettenmengen zu erkunden, einschließlich ihrer Erstellung, der Eindeutigkeit der Elemente und gängigen Mengenoperationen wie Vereinigung und Schnittmenge. Sie erstellen eine Datei namens string_sets.py im Verzeichnis ~/project und verwenden den Befehl python, um die Code-Schnipsel auszuführen. Dabei beobachten Sie, wie Mengen doppelte Einträge behandeln und Mengenoperationen ausführen.

Anschließend wird das Lab Sie durch die Verwendung der Funktion all() in Kombination mit isinstance() führen, um zu überprüfen, ob alle Elemente in einer Menge tatsächlich Zeichenketten sind. Abschließend lernen Sie, wie Sie leere Mengen behandeln und sicherstellen, dass Ihr Code diesen Randfall elegant bewältigt, wenn Sie auf Mengen mit ausschließlich Zeichenketten prüfen.


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(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python/BasicConceptsGroup -.-> python/type_conversion("Type Conversion") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") 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/type_conversion -.-> lab-559560{{"Wie man prüft, ob eine Menge in Python nur Zeichenketten enthält"}} python/conditional_statements -.-> lab-559560{{"Wie man prüft, ob eine Menge in Python nur Zeichenketten enthält"}} python/sets -.-> lab-559560{{"Wie man prüft, ob eine Menge in Python nur Zeichenketten enthält"}} python/build_in_functions -.-> lab-559560{{"Wie man prüft, ob eine Menge in Python nur Zeichenketten enthält"}} python/data_collections -.-> lab-559560{{"Wie man prüft, ob eine Menge in Python nur Zeichenketten enthält"}} end

Über Zeichenkettenmengen (String Sets) lernen

In diesem Schritt lernen Sie über Zeichenkettenmengen in Python. Eine Menge (Set) ist eine ungeordnete Sammlung eindeutiger Elemente. Das bedeutet, dass eine Menge keine doppelten Werte enthalten kann. Mengen sind nützlich für die Durchführung mathematischer Mengenoperationen wie Vereinigung, Schnittmenge und Differenz. In diesem Lab werden wir uns auf Mengen konzentrieren, die Zeichenketten enthalten.

Zunächst erstellen wir eine einfache Menge von Zeichenketten. Öffnen Sie den VS Code-Editor in der LabEx-Umgebung. Erstellen Sie eine neue Datei namens string_sets.py im Verzeichnis ~/project.

## ~/project/string_sets.py
string_set = {"apple", "banana", "cherry"}
print(string_set)

Speichern Sie die Datei. Führen Sie nun das Skript mit dem Befehl python im Terminal aus:

python ~/project/string_sets.py

Sie sollten die folgende Ausgabe sehen (die Reihenfolge der Elemente kann variieren, da Mengen ungeordnet sind):

{'cherry', 'banana', 'apple'}

Fügen wir nun ein doppeltes Element zur Menge hinzu und sehen, was passiert:

## ~/project/string_sets.py
string_set = {"apple", "banana", "cherry", "apple"}
print(string_set)

Speichern Sie die Datei und führen Sie sie erneut aus:

python ~/project/string_sets.py

Die Ausgabe wird sein:

{'cherry', 'banana', 'apple'}

Beachten Sie, dass das doppelte "apple" automatisch entfernt wurde. Mengen speichern nur eindeutige Elemente.

Als Nächstes erkunden wir einige gängige Mengenoperationen. Wir erstellen zwei Mengen und führen Vereinigungs- und Schnittmengenoperationen aus.

## ~/project/string_sets.py
set1 = {"apple", "banana", "cherry"}
set2 = {"banana", "date", "fig"}

## Union of two sets
union_set = set1.union(set2)
print("Union:", union_set)

## Intersection of two sets
intersection_set = set1.intersection(set2)
print("Intersection:", intersection_set)

Speichern Sie die Datei und führen Sie sie aus:

python ~/project/string_sets.py

Die Ausgabe wird sein:

Union: {'cherry', 'banana', 'date', 'apple', 'fig'}
Intersection: {'banana'}

Die Vereinigung der beiden Mengen enthält alle eindeutigen Elemente beider Mengen. Die Schnittmenge enthält nur die Elemente, die beiden Mengen gemeinsam sind.

Die Funktionen all() und isinstance() kombinieren

In diesem Schritt lernen Sie, wie Sie die Funktion all() in Kombination mit isinstance() verwenden, um zu prüfen, ob alle Elemente in einer Menge (Set) Zeichenketten (Strings) sind.

Die Funktion all() gibt True zurück, wenn alle Elemente in einem iterierbaren Objekt (wie einer Menge) wahr sind. Wenn ein Element falsch ist, gibt all() False zurück.

Die Funktion isinstance() prüft, ob ein Objekt eine Instanz einer bestimmten Klasse ist. In unserem Fall verwenden wir sie, um zu prüfen, ob jedes Element in der Menge eine Zeichenkette ist.

Beginnen wir damit, eine Menge zu erstellen, die nur Zeichenketten enthält. Öffnen Sie die Datei string_sets.py im Verzeichnis ~/project mit dem VS Code-Editor. Ändern Sie die Datei, um den folgenden Code einzufügen:

## ~/project/string_sets.py
string_set = {"apple", "banana", "cherry"}

## Check if all elements are strings
all_strings = all(isinstance(item, str) for item in string_set)
print("Are all elements strings?", all_strings)

Speichern Sie die Datei. Führen Sie nun das Skript mit dem Befehl python im Terminal aus:

python ~/project/string_sets.py

Sie sollten die folgende Ausgabe sehen:

Are all elements strings? True

Dies bestätigt, dass alle Elemente in der Menge Zeichenketten sind.

Fügen wir nun ein nicht-zeichenketten-Element (z. B. eine Ganzzahl) zur Menge hinzu und sehen, was passiert:

## ~/project/string_sets.py
string_set = {"apple", "banana", "cherry", 123}

## Check if all elements are strings
all_strings = all(isinstance(item, str) for item in string_set)
print("Are all elements strings?", all_strings)

Speichern Sie die Datei und führen Sie sie erneut aus:

python ~/project/string_sets.py

Die Ausgabe wird sein:

Are all elements strings? False

Wie erwartet gibt die Funktion all() False zurück, da nicht alle Elemente in der Menge Zeichenketten sind.

Diese Technik ist nützlich für die Validierung von Daten und die Sicherstellung, dass eine Menge nur Elemente eines bestimmten Typs enthält.

Prüfen auf leere Mengen

In diesem Schritt lernen Sie, wie Sie in Python prüfen können, ob eine Menge leer ist. Eine leere Menge ist eine Menge, die keine Elemente enthält.

Das Prüfen auf leere Mengen ist eine häufige Aufgabe in der Programmierung, insbesondere bei der Datenverarbeitung oder bedingter Logik.

Um eine leere Menge zu erstellen, können Sie den set()-Konstruktor ohne Argumente verwenden. Ändern Sie die Datei string_sets.py im Verzeichnis ~/project mit dem VS Code-Editor, um den folgenden Code einzufügen:

## ~/project/string_sets.py
empty_set = set()

## Check if the set is empty
if not empty_set:
    print("The set is empty")
else:
    print("The set is not empty")

Speichern Sie die Datei. Führen Sie nun das Skript mit dem Befehl python im Terminal aus:

python ~/project/string_sets.py

Sie sollten die folgende Ausgabe sehen:

The set is empty

Dies bestätigt, dass die Menge empty_set tatsächlich leer ist.

Erstellen wir nun eine nicht-leere Menge und prüfen, ob unsere Logik noch funktioniert:

## ~/project/string_sets.py
non_empty_set = {"apple", "banana", "cherry"}

## Check if the set is empty
if not non_empty_set:
    print("The set is empty")
else:
    print("The set is not empty")

Speichern Sie die Datei und führen Sie sie erneut aus:

python ~/project/string_sets.py

Die Ausgabe wird sein:

The set is not empty

Wie erwartet erkennt der Code korrekt, dass die Menge nicht leer ist.

Eine andere Möglichkeit, zu prüfen, ob eine Menge leer ist, ist die Verwendung der len()-Funktion, die die Anzahl der Elemente in der Menge zurückgibt. Wenn die Länge 0 ist, ist die Menge leer.

## ~/project/string_sets.py
empty_set = set()

## Check if the set is empty using len()
if len(empty_set) == 0:
    print("The set is empty")
else:
    print("The set is not empty")

Speichern Sie die Datei und führen Sie sie aus:

python ~/project/string_sets.py

Die Ausgabe wird sein:

The set is empty

Dies zeigt eine alternative Methode zum Prüfen, ob eine Menge leer ist.

Zusammenfassung

In diesem Lab haben Sie sich mit Zeichenkettenmengen (string sets) in Python vertraut gemacht. Dies sind ungeordnete Sammlungen eindeutiger Elemente. Sie haben eine Zeichenkettenmenge erstellt, beobachtet, dass doppelte Elemente automatisch entfernt werden, und gängige Mengenoperationen wie Vereinigung und Schnittmenge untersucht. Das Lab hat gezeigt, wie man Mengen von Zeichenketten definiert und grundlegende Operationen ausführt, um ihr Verhalten und ihre Eigenschaften zu verstehen.

Das Lab hat auch behandelt, wie man ein Python-Skript erstellt, es im Verzeichnis ~/project speichert und es mit dem Befehl python im Terminal ausführt. Sie haben die Ausgabe der Mengenoperationen beobachtet und festgestellt, dass die Reihenfolge der Elemente aufgrund der ungeordneten Natur von Mengen variieren kann.