So überprüfen Sie, ob eine Liste in Python nur Zahlen 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 nur Zahlen enthält. Dies umfasst die Definition von numerischen Listen, einschließlich Listen von Ganzzahlen, Fließkommazahlen und gemischten Zahlen. Sie erstellen eine Python-Datei namens numeric_lists.py und verwenden den VS Code-Editor, um diese Listen zu definieren und in der Konsole auszugeben.

Das Lab führt Sie durch die Definition von Listen von Ganzzahlen, Fließkommazahlen und einer Mischung aus beiden und zeigt, wie Sie diese Listen mit Python erstellen und ausgeben. Sie verwenden die print()-Funktion, um den Inhalt jeder Liste anzuzeigen und sich so vergewissern, dass Sie verstehen, wie man mit numerischen Listen in Python arbeitet.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL 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(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python/BasicConceptsGroup -.-> python/numeric_types("Numeric Types") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/DataStructuresGroup -.-> python/lists("Lists") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") subgraph Lab Skills python/numeric_types -.-> lab-559527{{"So überprüfen Sie, ob eine Liste in Python nur Zahlen enthält"}} python/conditional_statements -.-> lab-559527{{"So überprüfen Sie, ob eine Liste in Python nur Zahlen enthält"}} python/lists -.-> lab-559527{{"So überprüfen Sie, ob eine Liste in Python nur Zahlen enthält"}} python/build_in_functions -.-> lab-559527{{"So überprüfen Sie, ob eine Liste in Python nur Zahlen enthält"}} python/data_collections -.-> lab-559527{{"So überprüfen Sie, ob eine Liste in Python nur Zahlen enthält"}} end

Definition von numerischen Listen

In diesem Schritt lernen Sie, wie Sie in Python numerische Listen definieren. Eine Liste ist eine Sammlung von Elementen, und in diesem Fall konzentrieren wir uns auf Listen, die Zahlen enthalten. Listen sind eine grundlegende Datenstruktur in Python und werden verwendet, um geordnete Datenfolgen zu speichern und zu manipulieren.

Zunächst erstellen wir eine neue Python-Datei namens numeric_lists.py in Ihrem ~/project-Verzeichnis mit dem VS Code-Editor.

~/project/numeric_lists.py

Öffnen Sie nun numeric_lists.py im Editor und fügen Sie den folgenden Code hinzu, um eine Liste von Ganzzahlen zu definieren:

## Define a list of integers
integer_list = [1, 2, 3, 4, 5]

## Print the list to the console
print(integer_list)

Speichern Sie die Datei. Öffnen Sie als Nächstes ein Terminal in VS Code und navigieren Sie in das ~/project-Verzeichnis. Standardmäßig sollten Sie bereits in diesem Verzeichnis sein. Führen Sie nun das Python-Skript mit dem folgenden Befehl aus:

python numeric_lists.py

Sie sollten die folgende Ausgabe sehen:

[1, 2, 3, 4, 5]

Nun definieren wir eine Liste von Fließkommazahlen (Dezimalzahlen):

Ändern Sie die Datei numeric_lists.py wie folgt:

## Define a list of floating-point numbers
float_list = [1.0, 2.5, 3.7, 4.2, 5.9]

## Print the list to the console
print(float_list)

Speichern Sie die Datei und führen Sie das Skript erneut aus:

python numeric_lists.py

Sie sollten die folgende Ausgabe sehen:

[1.0, 2.5, 3.7, 4.2, 5.9]

Sie können auch eine Liste erstellen, die eine Mischung aus Ganzzahlen und Fließkommazahlen enthält:

Ändern Sie die Datei numeric_lists.py wie folgt:

## Define a list of mixed numbers (integers and floats)
mixed_list = [1, 2.0, 3, 4.5, 5]

## Print the list to the console
print(mixed_list)

Speichern Sie die Datei und führen Sie das Skript erneut aus:

python numeric_lists.py

Sie sollten die folgende Ausgabe sehen:

[1, 2.0, 3, 4.5, 5]

Herzlichen Glückwunsch! Sie haben erfolgreich numerische Listen in Python definiert und ausgegeben. Dies ist ein grundlegender Schritt für die Arbeit mit numerischen Daten in Python.

Verwendung von all() mit isinstance()

In diesem Schritt lernen Sie, wie Sie die all()-Funktion in Kombination mit der isinstance()-Funktion verwenden, um zu prüfen, ob alle Elemente in einer Liste von einem bestimmten numerischen Typ sind. Dies ist eine nützliche Technik zur Validierung von Daten und zur Sicherstellung, dass Ihr Code wie erwartet funktioniert.

Die all()-Funktion gibt True zurück, wenn alle Elemente in einem iterierbaren Objekt (wie einer Liste) wahr sind. Die isinstance()-Funktion prüft, ob ein Objekt eine Instanz einer angegebenen Klasse oder eines angegebenen Typs ist.

Ändern Sie die Datei numeric_lists.py, die Sie im vorherigen Schritt erstellt haben, so, dass der folgende Code enthalten ist:

def check_if_all_numeric(data):
  """
  Check if all elements in the list are either integers or floats.
  """
  return all(isinstance(item, (int, float)) for item in data)

## Test cases
integer_list = [1, 2, 3, 4, 5]
float_list = [1.0, 2.5, 3.7, 4.2, 5.9]
mixed_list = [1, 2.0, 3, 4.5, 5]
string_list = [1, 2, "hello", 4.5, 5]

print(f"Integer list is all numeric: {check_if_all_numeric(integer_list)}")
print(f"Float list is all numeric: {check_if_all_numeric(float_list)}")
print(f"Mixed list is all numeric: {check_if_all_numeric(mixed_list)}")
print(f"String list is all numeric: {check_if_all_numeric(string_list)}")

Hier ist eine Aufschlüsselung des Codes:

  • Wir definieren eine Funktion check_if_all_numeric(data), die eine Liste als Eingabe nimmt.
  • Innerhalb der Funktion verwenden wir all() mit einem Generatorausdruck (isinstance(item, (int, float)) for item in data).
  • Der Generatorausdruck iteriert über jedes item in der data-Liste und prüft, ob es eine Instanz von entweder int oder float ist, indem er isinstance() verwendet.
  • all() gibt nur dann True zurück, wenn alle Elemente in der Liste entweder Ganzzahlen oder Fließkommazahlen sind; andernfalls gibt es False zurück.
  • Wir testen dann die Funktion mit verschiedenen Listen und geben die Ergebnisse aus.

Speichern Sie die Datei numeric_lists.py und führen Sie sie aus dem Terminal aus:

python numeric_lists.py

Sie sollten die folgende Ausgabe sehen:

Integer list is all numeric: True
Float list is all numeric: True
Mixed list is all numeric: True
String list is all numeric: False

Diese Ausgabe zeigt, dass die Funktion check_if_all_numeric() korrekt erkennt, ob alle Elemente in einer Liste numerisch sind. Die String-Liste enthält einen String, daher gibt die Funktion False zurück.

Umgang mit leeren Listen

In diesem Schritt lernen Sie, wie Sie leere Listen behandeln, wenn Sie die Funktionen all() und isinstance() verwenden. Eine leere Liste ist eine Liste, die keine Elemente enthält. Es ist wichtig, leere Listen korrekt zu behandeln, um unerwartetes Verhalten in Ihrem Code zu vermeiden.

Ändern Sie die Datei numeric_lists.py, die Sie in den vorherigen Schritten erstellt haben, so, dass in der Funktion check_if_all_numeric() eine Prüfung auf leere Listen hinzugefügt wird:

def check_if_all_numeric(data):
  """
  Check if all elements in the list are either integers or floats.
  Handle empty lists gracefully.
  """
  if not data:
    return True  ## An empty list can be considered as all numeric

  return all(isinstance(item, (int, float)) for item in data)

## Test cases
integer_list = [1, 2, 3, 4, 5]
float_list = [1.0, 2.5, 3.7, 4.2, 5.9]
mixed_list = [1, 2.0, 3, 4.5, 5]
string_list = [1, 2, "hello", 4.5, 5]
empty_list = []

print(f"Integer list is all numeric: {check_if_all_numeric(integer_list)}")
print(f"Float list is all numeric: {check_if_all_numeric(float_list)}")
print(f"Mixed list is all numeric: {check_if_all_numeric(mixed_list)}")
print(f"String list is all numeric: {check_if_all_numeric(string_list)}")
print(f"Empty list is all numeric: {check_if_all_numeric(empty_list)}")

Hier ist, was wir geändert haben:

  • Wir haben am Anfang der Funktion check_if_all_numeric() eine Prüfung hinzugefügt: if not data:. Diese prüft, ob die Liste leer ist.
  • Wenn die Liste leer ist, geben wir True zurück. Dies liegt daran, dass eine leere Liste als erfüllend die Bedingung betrachtet werden kann, dass alle ihre Elemente numerisch sind (da sie keine Elemente hat, die nicht numerisch sind).
  • Wir haben einen Testfall für eine leere Liste (empty_list) hinzugefügt.

Speichern Sie die Datei numeric_lists.py und führen Sie sie aus dem Terminal aus:

python numeric_lists.py

Sie sollten die folgende Ausgabe sehen:

Integer list is all numeric: True
Float list is all numeric: True
Mixed list is all numeric: True
String list is all numeric: False
Empty list is all numeric: True

Wie Sie sehen können, behandelt die Funktion check_if_all_numeric() jetzt leere Listen korrekt und gibt für sie True zurück. Dies macht Ihren Code robuster und weniger fehleranfällig, wenn es um möglicherweise leere Listen geht.

Zusammenfassung

In diesem Labo (Praktikum) konzentriert sich der erste Schritt auf die Definition von numerischen Listen in Python. Dabei werden Listen von Ganzzahlen, Fließkommazahlen und gemischten numerischen Typen behandelt. Der Prozess umfasst das Erstellen einer Python-Datei namens numeric_lists.py und das Füllen dieser Datei mit Listen-Definitionen, die eckige Klammern und komma-getrennte Werte verwenden. Anschließend wird die print()-Funktion genutzt, um diese Listen in der Konsole anzuzeigen. Dies zeigt, wie verschiedene numerische Listen erstellt und ausgegeben werden können.

Das Labo betont die grundlegende Datenstruktur der Listen in Python und ihre Fähigkeit, geordnete Sequenzen von numerischen Daten zu speichern. Indem verschiedene Arten von numerischen Listen, einschließlich Ganzzahlen, Fließkommazahlen und einer Kombination beider, definiert und ausgegeben werden, bietet das Labo eine praktische Einführung in die Arbeit mit numerischen Daten in Python-Listen.