So prüfen Sie, ob alle Werte in einem Python-Wörterbuch (Dictionary) denselben Typ haben

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 alle Werte in einem Python-Wörterbuch (dictionary) vom gleichen Typ sind. Das Lab untersucht das Konzept der Typeneinheitlichkeit und zeigt, wie Sie die all()-Funktion zusammen mit type() verwenden können, um zu überprüfen, ob alle Werte in einem Wörterbuch denselben Datentyp haben.

Das Lab führt Sie durch die Erstellung von Python-Skripten, um die Typeneinheitlichkeit zu untersuchen. Zunächst erstellen Sie Listen mit Elementen vom gleichen Typ und dann Listen mit gemischten Datentypen. Anschließend lernen Sie, wie Sie dieses Wissen auf Wörterbücher anwenden können, einschließlich der Behandlung von leeren Wörterbüchern, um zu bestimmen, ob ihre Werte vom gleichen Typ sind.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python/BasicConceptsGroup -.-> python/variables_data_types("Variables and Data Types") python/BasicConceptsGroup -.-> python/numeric_types("Numeric Types") python/BasicConceptsGroup -.-> python/booleans("Booleans") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/DataStructuresGroup -.-> python/dictionaries("Dictionaries") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") subgraph Lab Skills python/variables_data_types -.-> lab-559510{{"So prüfen Sie, ob alle Werte in einem Python-Wörterbuch (Dictionary) denselben Typ haben"}} python/numeric_types -.-> lab-559510{{"So prüfen Sie, ob alle Werte in einem Python-Wörterbuch (Dictionary) denselben Typ haben"}} python/booleans -.-> lab-559510{{"So prüfen Sie, ob alle Werte in einem Python-Wörterbuch (Dictionary) denselben Typ haben"}} python/conditional_statements -.-> lab-559510{{"So prüfen Sie, ob alle Werte in einem Python-Wörterbuch (Dictionary) denselben Typ haben"}} python/dictionaries -.-> lab-559510{{"So prüfen Sie, ob alle Werte in einem Python-Wörterbuch (Dictionary) denselben Typ haben"}} python/build_in_functions -.-> lab-559510{{"So prüfen Sie, ob alle Werte in einem Python-Wörterbuch (Dictionary) denselben Typ haben"}} python/data_collections -.-> lab-559510{{"So prüfen Sie, ob alle Werte in einem Python-Wörterbuch (Dictionary) denselben Typ haben"}} end

Untersuchen der Typeneinheitlichkeit

In diesem Schritt lernen Sie über die Typeneinheitlichkeit in Python. Typeneinheitlichkeit bezieht sich auf das Konzept, sicherzustellen, dass alle Elemente in einer Sammlung, wie z. B. einer Liste oder einem Wörterbuch (dictionary), vom gleichen Datentyp sind. Dies ist wichtig, um die Konsistenz aufrechtzuerhalten und unerwartete Fehler in Ihrem Code zu vermeiden.

Beginnen wir damit, ein Python-Skript zu erstellen, um dieses Konzept zu untersuchen.

  1. Öffnen Sie den VS Code-Editor in der LabEx-Umgebung.

  2. Erstellen Sie eine neue Datei mit dem Namen type_uniformity.py im Verzeichnis ~/project.

    touch ~/project/type_uniformity.py
  3. Öffnen Sie die Datei type_uniformity.py im Editor.

Jetzt fügen wir der Datei type_uniformity.py etwas Code hinzu, um eine Liste mit Elementen vom gleichen Typ zu erstellen.

## Create a list of integers
int_list = [1, 2, 3, 4, 5]

## Print the list
print("List of integers:", int_list)

## Verify the type of each element
for item in int_list:
    print("Type of", item, "is", type(item))

In diesem Code erstellen wir eine Liste namens int_list, die nur Ganzzahlwerte enthält. Anschließend durchlaufen wir die Liste und geben den Typ jedes Elements mit der type()-Funktion aus.

Als Nächstes erstellen wir eine Liste mit Elementen unterschiedlicher Typen.

## Create a list of mixed data types
mixed_list = [1, "hello", 3.14, True]

## Print the list
print("\nList of mixed data types:", mixed_list)

## Verify the type of each element
for item in mixed_list:
    print("Type of", item, "is", type(item))

In diesem Code erstellen wir eine Liste namens mixed_list, die Ganzzahlen, Strings, Fließkommazahlen und Boolesche Werte enthält. Anschließend durchlaufen wir die Liste und geben den Typ jedes Elements aus.

Jetzt führen wir das Skript aus, um die Ausgabe zu sehen.

  1. Öffnen Sie das Terminal in der VS Code-Umgebung.

  2. Navigieren Sie zum Verzeichnis ~/project.

    cd ~/project
  3. Führen Sie das Skript type_uniformity.py mit dem Befehl python aus.

    python type_uniformity.py

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

List of integers: [1, 2, 3, 4, 5]
Type of 1 is <class 'int'>
Type of 2 is <class 'int'>
Type of 3 is <class 'int'>
Type of 4 is <class 'int'>
Type of 5 is <class 'int'>

List of mixed data types: [1, 'hello', 3.14, True]
Type of 1 is <class 'int'>
Type of hello is <class 'str'>
Type of 3.14 is <class 'float'>
Type of True is <class 'bool'>

Wie Sie sehen können, enthält die int_list Elemente vom gleichen Typ (int), während die mixed_list Elemente unterschiedlicher Typen (int, str, float, bool) enthält.

Das Verständnis der Typeneinheitlichkeit ist entscheidend für das Schreiben von robustem und wartbarem Python-Code. In den folgenden Schritten lernen Sie, wie Sie die all()-Funktion in Verbindung mit der type()-Funktion verwenden können, um die Typeneinheitlichkeit in Sammlungen zu prüfen.

Verwendung von all() mit type() für Werte

In diesem Schritt lernen Sie, wie Sie die all()-Funktion in Kombination mit der type()-Funktion verwenden können, um zu prüfen, ob alle Elemente in einer Liste denselben Datentyp haben. Dies ist eine leistungsstarke Technik, um die Typeneinheitlichkeit in Ihrem Python-Code sicherzustellen.

Die all()-Funktion gibt True zurück, wenn alle Elemente in einem iterierbaren Objekt wahr sind. Wir können diese Funktion verwenden, um zu prüfen, ob eine Bedingung für alle Elemente in einer Liste wahr ist.

Setzen wir mit der Datei type_uniformity.py fort, die Sie im vorherigen Schritt erstellt haben.

  1. Öffnen Sie die Datei type_uniformity.py im VS Code-Editor.

Jetzt fügen wir etwas Code hinzu, um zu prüfen, ob alle Elemente in einer Liste Ganzzahlen sind, indem wir die all()- und type()-Funktionen verwenden.

## List of integers
int_list = [1, 2, 3, 4, 5]

## Check if all elements are integers
all_integers = all(type(item) is int for item in int_list)

## Print the result
print("\nAre all elements in int_list integers?", all_integers)

In diesem Code verwenden wir einen Generatorausdruck (type(item) is int for item in int_list), um eine Sequenz von booleschen Werten zu erstellen. Jeder boolesche Wert gibt an, ob das entsprechende Element in int_list eine Ganzzahl ist. Die all()-Funktion prüft dann, ob alle booleschen Werte in der Sequenz True sind.

Als Nächstes prüfen wir, ob alle Elemente in einer Liste mit gemischten Datentypen Ganzzahlen sind.

## List of mixed data types
mixed_list = [1, "hello", 3.14, True]

## Check if all elements are integers
all_integers = all(type(item) is int for item in mixed_list)

## Print the result
print("Are all elements in mixed_list integers?", all_integers)

Jetzt führen wir das Skript aus, um die Ausgabe zu sehen.

  1. Öffnen Sie das Terminal in der VS Code-Umgebung.

  2. Navigieren Sie zum Verzeichnis ~/project.

    cd ~/project
  3. Führen Sie das Skript type_uniformity.py mit dem Befehl python aus.

    python type_uniformity.py

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

List of integers: [1, 2, 3, 4, 5]
Type of 1 is <class 'int'>
Type of 2 is <class 'int'>
Type of 3 is <class 'int'>
Type of 4 is <class 'int'>
Type of 5 is <class 'int'>

List of mixed data types: [1, 'hello', 3.14, True]
Type of 1 is <class 'int'>
Type of hello is <class 'str'>
Type of 3.14 is <class 'float'>
Type of True is <class 'bool'>

Are all elements in int_list integers? True
Are all elements in mixed_list integers? False

Wie Sie sehen können, erkennt die all()-Funktion korrekt, dass alle Elemente in int_list Ganzzahlen sind, während nicht alle Elemente in mixed_list Ganzzahlen sind.

Diese Technik kann verwendet werden, um die Typeneinheitlichkeit in jeder Liste zu prüfen, unabhängig von den Datentypen, die sie enthält. Im nächsten Schritt lernen Sie, wie Sie leere Wörterbücher (dictionaries) behandeln, wenn Sie die Typeneinheitlichkeit prüfen.

Umgang mit leeren Wörterbüchern (Dictionaries)

In diesem Schritt lernen Sie, wie Sie leere Wörterbücher (Dictionaries) behandeln, wenn Sie die Typeneinheitlichkeit prüfen. Ein leeres Wörterbuch ist ein Wörterbuch ohne Schlüssel-Wert-Paare. Beim Prüfen der Typeneinheitlichkeit in einem leeren Wörterbuch ist es wichtig, diesen Fall angemessen zu behandeln, um Fehler zu vermeiden.

Setzen wir mit der Datei type_uniformity.py fort, die Sie in den vorherigen Schritten erstellt haben.

  1. Öffnen Sie die Datei type_uniformity.py im VS Code-Editor.

Jetzt fügen wir etwas Code hinzu, um die Typeneinheitlichkeit in einem leeren Wörterbuch zu prüfen.

## Empty dictionary
empty_dict = {}

## Check if the dictionary is empty
if not empty_dict:
    print("\nThe dictionary is empty.")
else:
    ## Check if all values have the same type (this will not be executed for an empty dictionary)
    first_type = type(next(iter(empty_dict.values())))
    all_same_type = all(type(value) is first_type for value in empty_dict.values())
    print("Are all values in the dictionary of the same type?", all_same_type)

In diesem Code prüfen wir zunächst, ob das Wörterbuch empty_dict leer ist, indem wir die Bedingung if not empty_dict: verwenden. Wenn das Wörterbuch leer ist, geben wir eine Nachricht aus, die darauf hinweist, dass das Wörterbuch leer ist. Andernfalls prüfen wir, ob alle Werte im Wörterbuch denselben Typ haben.

Erklärung:

  • if not empty_dict:: Diese Bedingung prüft, ob das Wörterbuch leer ist. Ein leeres Wörterbuch wird in einem booleschen Kontext als False ausgewertet, daher wird not empty_dict True sein, wenn das Wörterbuch leer ist.
  • print("\nThe dictionary is empty."): Diese Zeile gibt eine Nachricht aus, die darauf hinweist, dass das Wörterbuch leer ist.
  • Der else-Block wird nicht ausgeführt, wenn das Wörterbuch leer ist.

Jetzt fügen wir etwas Code hinzu, um die Typeneinheitlichkeit in einem nicht-leeren Wörterbuch zu prüfen.

## Dictionary with integer values
int_dict = {"a": 1, "b": 2, "c": 3}

## Check if the dictionary is empty
if not int_dict:
    print("\nThe dictionary is empty.")
else:
    ## Check if all values have the same type
    first_type = type(next(iter(int_dict.values())))
    all_same_type = all(type(value) is first_type for value in int_dict.values())
    print("Are all values in the dictionary of the same type?", all_same_type)

In diesem Code erstellen wir ein Wörterbuch namens int_dict mit Ganzzahlwerten. Anschließend prüfen wir, ob das Wörterbuch leer ist. Wenn es nicht leer ist, ermitteln wir den Typ des ersten Werts im Wörterbuch und prüfen, ob alle anderen Werte denselben Typ haben.

Jetzt führen wir das Skript aus, um die Ausgabe zu sehen.

  1. Öffnen Sie das Terminal in der VS Code-Umgebung.

  2. Navigieren Sie zum Verzeichnis ~/project.

    cd ~/project
  3. Führen Sie das Skript type_uniformity.py mit dem Befehl python aus.

    python type_uniformity.py

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

List of integers: [1, 2, 3, 4, 5]
Type of 1 is <class 'int'>
Type of 2 is <class 'int'>
Type of 3 is <class 'int'>
Type of 4 is <class 'int'>
Type of 5 is <class 'int'>

List of mixed data types: [1, 'hello', 3.14, True]
Type of 1 is <class 'int'>
Type of hello is <class 'str'>
Type of 3.14 is <class 'float'>
Type of True is <class 'bool'>

Are all elements in int_list integers? True
Are all elements in mixed_list integers? False

The dictionary is empty.
Are all values in the dictionary of the same type? True

Wie Sie sehen können, behandelt der Code das leere Wörterbuch korrekt und gibt die entsprechende Nachricht aus. Für das nicht-leere Wörterbuch prüft er, ob alle Werte denselben Typ haben, und gibt das Ergebnis aus.

Dies schließt das Lab zur Untersuchung der Typeneinheitlichkeit in Python ab. Sie haben gelernt, wie Sie die Typeneinheitlichkeit in Listen und Wörterbüchern prüfen und wie Sie leere Wörterbücher angemessen behandeln.

Zusammenfassung

In diesem Lab haben Sie das Konzept der Typeneinheitlichkeit in Python untersucht. Dies beinhaltet die Sicherstellung, dass alle Elemente in einer Sammlung denselben Datentyp haben. Sie haben ein Python-Skript erstellt, um dieses Konzept zu demonstrieren, indem Sie eine Liste von Ganzzahlen und eine Liste mit gemischten Datentypen erstellt und dann den Typ jedes Elements mit der type()-Funktion ausgegeben haben.

Das Lab hat die Wichtigkeit der Typeneinheitlichkeit für die Aufrechterhaltung der Konsistenz und die Vermeidung unerwarteter Fehler im Code hervorgehoben. Es wurde gezeigt, wie verschiedene Datentypen in einer einzigen Liste koexistieren können und wie man den Typ jedes Elements identifiziert.