Wie man prüft, ob eine Liste in Python eine Zahl 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 in Python prüfen können, ob eine Liste eine Zahl enthält, wobei der Schwerpunkt auf der Verarbeitung von Listen mit gemischten Datentypen liegt. Sie beginnen damit, Listen mit gemischten Datentypen zu untersuchen, die Elemente verschiedener Datentypen wie Ganzzahlen, Strings und Booleans enthalten.

Sie erstellen eine Datei namens mixed_list.py, füllen sie mit einer Liste mit gemischten Datentypen und üben das Zugreifen auf und Ändern ihrer Elemente mithilfe von Indizes. Diese praktische Erfahrung bildet die Grundlage für die Identifizierung numerischer Elemente in solchen Listen mithilfe von Techniken wie any() und isinstance(), die in den folgenden Schritten behandelt werden.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) 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/type_conversion("Type Conversion") python/ControlFlowGroup -.-> python/for_loops("For Loops") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") subgraph Lab Skills python/variables_data_types -.-> lab-559523{{"Wie man prüft, ob eine Liste in Python eine Zahl enthält"}} python/numeric_types -.-> lab-559523{{"Wie man prüft, ob eine Liste in Python eine Zahl enthält"}} python/type_conversion -.-> lab-559523{{"Wie man prüft, ob eine Liste in Python eine Zahl enthält"}} python/for_loops -.-> lab-559523{{"Wie man prüft, ob eine Liste in Python eine Zahl enthält"}} python/build_in_functions -.-> lab-559523{{"Wie man prüft, ob eine Liste in Python eine Zahl enthält"}} python/data_collections -.-> lab-559523{{"Wie man prüft, ob eine Liste in Python eine Zahl enthält"}} end

Untersuchung von Listen mit gemischten Datentypen

In diesem Schritt lernen Sie über Listen mit gemischten Datentypen in Python. Eine Liste mit gemischten Datentypen ist eine Liste, die Elemente verschiedener Datentypen wie Ganzzahlen, Strings und Booleans enthält. Das Verständnis, wie man mit Listen mit gemischten Datentypen arbeitet, ist für die Verarbeitung unterschiedlicher Daten in Ihren Python-Programmen unerlässlich.

Zunächst erstellen wir eine Liste mit gemischten Datentypen. Öffnen Sie den VS Code-Editor in der LabEx-Umgebung und erstellen Sie eine neue Datei namens mixed_list.py im Verzeichnis ~/project.

## Create a mixed-type list
my_list = [1, "hello", 3.14, True]

## Print the list
print(my_list)

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

python ~/project/mixed_list.py

Sie sollten die folgende Ausgabe sehen:

[1, 'hello', 3.14, True]

Wie Sie sehen können, enthält die Liste my_list eine Ganzzahl, einen String, eine Fließkommazahl und einen booleschen Wert.

Als Nächstes greifen wir auf die Elemente der Liste mit gemischten Datentypen mithilfe von Indizes zu:

## Access elements of the list
first_element = my_list[0]
second_element = my_list[1]
third_element = my_list[2]
fourth_element = my_list[3]

## Print the elements
print("First element:", first_element)
print("Second element:", second_element)
print("Third element:", third_element)
print("Fourth element:", fourth_element)

Fügen Sie diese Zeilen Ihrer mixed_list.py-Datei hinzu und speichern Sie sie. Führen Sie dann das Skript erneut aus:

python ~/project/mixed_list.py

Die Ausgabe sollte wie folgt aussehen:

[1, 'hello', 3.14, True]
First element: 1
Second element: hello
Third element: 3.14
Fourth element: True

Sie können auch Elemente einer Liste mit gemischten Datentypen ändern:

## Modify an element
my_list[0] = "new value"

## Print the modified list
print(my_list)

Fügen Sie diese Zeilen Ihrer mixed_list.py-Datei hinzu und speichern Sie sie. Führen Sie das Skript noch einmal aus:

python ~/project/mixed_list.py

Die Ausgabe sollte nun wie folgt lauten:

['new value', 'hello', 3.14, True]

In diesem Beispiel haben wir das erste Element der Liste von einer Ganzzahl in einen String geändert.

Listen mit gemischten Datentypen sind flexibel und können in verschiedenen Situationen nützlich sein. Es ist jedoch wichtig, bei der Ausführung von Operationen auf den Elementen einer Liste mit gemischten Datentypen auf die Datentypen zu achten, um unerwartete Fehler zu vermeiden.

Verwendung von any() in Kombination mit isinstance()

In diesem Schritt lernen Sie, wie Sie die Funktion any() in Kombination mit der Funktion isinstance() verwenden, um zu prüfen, ob eine Liste mindestens ein Element eines bestimmten Typs enthält. Dies ist besonders nützlich, wenn Sie mit Listen mit gemischten Datentypen arbeiten.

Die Funktion any() gibt True zurück, wenn irgendein Element in einem iterierbaren Objekt (wie einer Liste) wahr ist. Andernfalls gibt sie False zurück. Die Funktion isinstance() prüft, ob ein Objekt eine Instanz einer angegebenen Klasse oder eines angegebenen Typs ist.

Erstellen wir ein Python-Skript, um dies zu demonstrieren. Im VS Code-Editor erstellen Sie eine neue Datei namens any_isinstance.py im Verzeichnis ~/project.

## Create a mixed-type list
my_list = [1, "hello", 3.14, True]

## Check if the list contains any integers
has_integer = any(isinstance(x, int) for x in my_list)

## Print the result
print("List contains an integer:", has_integer)

## Check if the list contains any strings
has_string = any(isinstance(x, str) for x in my_list)

## Print the result
print("List contains a string:", has_string)

## Check if the list contains any floats
has_float = any(isinstance(x, float) for x in my_list)

## Print the result
print("List contains a float:", has_float)

## Check if the list contains any booleans
has_bool = any(isinstance(x, bool) for x in my_list)

## Print the result
print("List contains a boolean:", has_bool)

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

python ~/project/any_isinstance.py

Sie sollten die folgende Ausgabe sehen:

List contains an integer: True
List contains a string: True
List contains a float: True
List contains a boolean: True

In diesem Beispiel haben wir einen Generatorausdruck (isinstance(x, int) for x in my_list) innerhalb der Funktion any() verwendet. Dieser Generatorausdruck gibt True zurück, wenn ein Element x eine Instanz von int ist, und False sonst. Die Funktion any() prüft dann, ob irgendeiner dieser Werte True ist.

Ändern wir die Liste, um zu sehen, wie sich die Ausgabe ändert. Ändern Sie das erste Element von my_list in eine Fließkommazahl:

## Create a mixed-type list
my_list = [1.0, "hello", 3.14, True]

## Check if the list contains any integers
has_integer = any(isinstance(x, int) for x in my_list)

## Print the result
print("List contains an integer:", has_integer)

## Check if the list contains any strings
has_string = any(isinstance(x, str) for x in my_list)

## Print the result
print("List contains a string:", has_string)

## Check if the list contains any floats
has_float = any(isinstance(x, float) for x in my_list)

## Print the result
print("List contains a float:", has_float)

## Check if the list contains any booleans
has_bool = any(isinstance(x, bool) for x in my_list)

## Print the result
print("List contains a boolean:", has_bool)

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

python ~/project/any_isinstance.py

Die Ausgabe sollte nun wie folgt lauten:

List contains an integer: False
List contains a string: True
List contains a float: True
List contains a boolean: True

Jetzt enthält die Liste keine Ganzzahlen mehr, daher ist has_integer False.

Diese Technik ist nützlich, um den Inhalt einer Liste zu validieren oder um verschiedene Aktionen basierend auf den Typen der in der Liste enthaltenen Elemente auszuführen.

Finden von numerischen Elementen

In diesem Schritt lernen Sie, wie Sie numerische Elemente (Ganzzahlen und Fließkommazahlen) aus einer Liste mit gemischten Datentypen finden und extrahieren können. Dies umfasst das Iterieren durch die Liste und die Verwendung der Funktion isinstance(), um numerische Elemente zu identifizieren.

Erstellen wir ein Python-Skript, um dies zu demonstrieren. Öffnen Sie den VS Code-Editor und erstellen Sie eine neue Datei namens find_numeric.py im Verzeichnis ~/project.

## Create a mixed-type list
my_list = [1, "hello", 3.14, True, 5, "world", 2.71]

## Create an empty list to store numeric elements
numeric_elements = []

## Iterate through the list
for element in my_list:
    ## Check if the element is an integer or a float
    if isinstance(element, (int, float)):
        ## Add the element to the numeric_elements list
        numeric_elements.append(element)

## Print the list of numeric elements
print("Numeric elements:", numeric_elements)

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

python ~/project/find_numeric.py

Sie sollten die folgende Ausgabe sehen:

Numeric elements: [1, 3.14, 5, 2.71]

In diesem Beispiel haben wir durch die Liste my_list iteriert und isinstance(element, (int, float)) verwendet, um zu prüfen, ob jedes Element entweder eine Ganzzahl oder eine Fließkommazahl ist. Wenn dies der Fall ist, fügen wir es der Liste numeric_elements hinzu.

Ändern wir das Skript, um auch die Summe der numerischen Elemente auszugeben:

## Create a mixed-type list
my_list = [1, "hello", 3.14, True, 5, "world", 2.71]

## Create an empty list to store numeric elements
numeric_elements = []

## Iterate through the list
for element in my_list:
    ## Check if the element is an integer or a float
    if isinstance(element, (int, float)):
        ## Add the element to the numeric_elements list
        numeric_elements.append(element)

## Print the list of numeric elements
print("Numeric elements:", numeric_elements)

## Calculate the sum of the numeric elements
numeric_sum = sum(numeric_elements)

## Print the sum
print("Sum of numeric elements:", numeric_sum)

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

python ~/project/find_numeric.py

Die Ausgabe sollte nun wie folgt lauten:

Numeric elements: [1, 3.14, 5, 2.71]
Sum of numeric elements: 11.85

Dies zeigt, wie man bestimmte Typen von Elementen aus einer Liste mit gemischten Datentypen extrahieren und Operationen auf ihnen ausführen kann. Diese Technik ist nützlich für Aufgaben zur Datenbereinigung und -vorverarbeitung.

Zusammenfassung

In diesem Lab haben Sie gemischte Listen in Python kennengelernt, die Elemente verschiedener Datentypen wie Ganzzahlen, Strings, Fließkommazahlen und Booleans enthalten können. Sie haben gelernt, wie Sie solche Listen erstellen, auf ihre Elemente über Indizierung zugreifen und Elemente innerhalb der Liste ändern können.

Das Lab hat gezeigt, wie Sie die gesamte Liste und einzelne Elemente ausgeben können, was die Fähigkeit demonstriert, verschiedene Datentypen innerhalb einer einzigen Listenstruktur zu verarbeiten. Sie haben auch geübt, den Wert eines Elements an einem bestimmten Index zu ändern, was die Flexibilität von gemischten Listen in Python noch weiter verdeutlicht.