Wie man prüft, ob eine Liste in Python nur Strings 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 Strings enthält. Sie beginnen damit, String-Listen zu untersuchen, zu verstehen, wie Sie sie erstellen, Elemente über den Index zugreifen, Elemente ändern und neue Elemente mit der Methode append() hinzufügen können.

Anschließend führt das Lab Sie durch die Anwendung der Funktion all() in Kombination mit isinstance(), um effizient zu überprüfen, ob alle Elemente in einer Liste Strings sind. Abschließend lernen Sie, wie Sie leere Listen als Sonderfall behandeln, wenn Sie auf Listen mit nur Strings prüfen.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python/BasicConceptsGroup -.-> python/booleans("Booleans") 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/booleans -.-> lab-559528{{"Wie man prüft, ob eine Liste in Python nur Strings enthält"}} python/conditional_statements -.-> lab-559528{{"Wie man prüft, ob eine Liste in Python nur Strings enthält"}} python/lists -.-> lab-559528{{"Wie man prüft, ob eine Liste in Python nur Strings enthält"}} python/build_in_functions -.-> lab-559528{{"Wie man prüft, ob eine Liste in Python nur Strings enthält"}} python/data_collections -.-> lab-559528{{"Wie man prüft, ob eine Liste in Python nur Strings enthält"}} end

Entdecken von String-Listen

In diesem Schritt lernen Sie über String-Listen in Python. Eine String-Liste ist einfach eine Liste, bei der jedes Element ein String ist. Listen sind eine grundlegende Datenstruktur in Python, die verwendet wird, um eine geordnete Sammlung von Elementen zu speichern. Das Verständnis, wie man mit Listen von Strings arbeitet, ist für viele Programmieraufgaben von entscheidender Bedeutung, wie z. B. die Verarbeitung von Textdaten, die Manipulation von Dateinamen und vieles mehr.

Zunächst erstellen wir eine einfache String-Liste. Öffnen Sie den VS Code-Editor in der LabEx-Umgebung. Erstellen Sie eine neue Datei mit dem Namen string_list.py im Verzeichnis ~/project.

## Create a list of strings
my_list = ["apple", "banana", "cherry"]

## Print the list
print(my_list)

Speichern Sie die Datei. Öffnen Sie nun ein Terminal im Verzeichnis ~/project und führen Sie das Skript aus:

python string_list.py

Sie sollten die folgende Ausgabe sehen:

['apple', 'banana', 'cherry']

Jetzt erkunden wir einige gängige Operationen, die Sie mit String-Listen ausführen können. Sie können einzelne Elemente der Liste über ihren Index zugreifen. Denken Sie daran, dass Python die Null-basierte Indizierung verwendet, was bedeutet, dass das erste Element den Index 0 hat.

Fügen Sie den folgenden Code in Ihre string_list.py-Datei ein:

## Accessing elements by index
first_element = my_list[0]
second_element = my_list[1]

print("First element:", first_element)
print("Second element:", second_element)

Führen Sie das Skript erneut aus:

python string_list.py

Sie sollten die folgende Ausgabe sehen:

['apple', 'banana', 'cherry']
First element: apple
Second element: banana

Sie können auch Elemente in der Liste ändern:

## Modifying an element
my_list[1] = "grape"
print(my_list)

Führen Sie das Skript erneut aus:

python string_list.py

Sie sollten die folgende Ausgabe sehen:

['apple', 'banana', 'cherry']
First element: apple
Second element: banana
['apple', 'grape', 'cherry']

Schließlich können Sie neue Elemente zur Liste hinzufügen, indem Sie die Methode append() verwenden:

## Adding an element
my_list.append("orange")
print(my_list)

Führen Sie das Skript ein letztes Mal aus:

python string_list.py

Sie sollten die folgende Ausgabe sehen:

['apple', 'banana', 'cherry']
First element: apple
Second element: banana
['apple', 'grape', 'cherry']
['apple', 'grape', 'cherry', 'orange']

Dies zeigt die grundlegenden Operationen, die Sie mit String-Listen in Python ausführen können. In den nächsten Schritten lernen Sie fortgeschrittene Techniken zum Umgang mit Listen kennen.

Anwendung von all() mit isinstance()

In diesem Schritt lernen Sie, wie Sie die Funktion all() in Kombination mit der Funktion isinstance() verwenden, um zu prüfen, ob alle Elemente in einer Liste Strings sind. Dies ist eine häufige Aufgabe, wenn Sie den Inhalt einer Liste validieren müssen, bevor Sie ihn weiter verarbeiten.

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

Beginnen wir damit, eine neue Python-Datei mit dem Namen check_string_list.py im Verzeichnis ~/project mithilfe des VS Code-Editors zu erstellen.

## Create a list with strings and non-strings
my_list = ["apple", "banana", "cherry", 123]

## Check if all elements are strings
all_strings = all(isinstance(item, str) for item in my_list)

## Print the result
print(all_strings)

Speichern Sie die Datei. Öffnen Sie nun ein Terminal im Verzeichnis ~/project und führen Sie das Skript aus:

python check_string_list.py

Sie sollten die folgende Ausgabe sehen:

False

Dies liegt daran, dass die Liste eine Ganzzahl (123) enthält, die kein String ist.

Jetzt ändern wir die Liste so, dass sie nur Strings enthält:

## Create a list with only strings
my_list = ["apple", "banana", "cherry"]

## Check if all elements are strings
all_strings = all(isinstance(item, str) for item in my_list)

## Print the result
print(all_strings)

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

python check_string_list.py

Sie sollten jetzt die folgende Ausgabe sehen:

True

Hier ist eine Aufschlüsselung dessen, was im Code passiert:

  • isinstance(item, str): Dies prüft, ob jedes item in der Liste ein String ist. Es gibt True zurück, wenn dies der Fall ist, und False sonst.
  • (isinstance(item, str) for item in my_list): Dies ist ein Generatorausdruck, der eine Sequenz von booleschen Werten (True oder False) liefert, die angeben, ob jedes Element in der Liste ein String ist.
  • all(...): Diese Funktion nimmt die Sequenz von booleschen Werten aus dem Generatorausdruck und gibt nur dann True zurück, wenn alle Werte True sind. Wenn ein Wert False ist, gibt sie False zurück.

Diese Kombination von all() und isinstance() bietet eine kompakte und effiziente Möglichkeit, zu validieren, dass alle Elemente in einer Liste von einem bestimmten Typ sind.

Prüfen auf leere Listen

In diesem Schritt lernen Sie, wie Sie in Python prüfen können, ob eine Liste leer ist. Das Prüfen auf leere Listen ist eine häufige Aufgabe, insbesondere bei der Verarbeitung von Daten oder der Verarbeitung von Benutzereingaben. Eine leere Liste ist eine Liste, die keine Elemente enthält.

Python bietet eine einfache Möglichkeit, zu prüfen, ob eine Liste leer ist: Sie können die Liste direkt in einem booleschen Kontext verwenden. Eine leere Liste wird als False ausgewertet, während eine nicht-leere Liste als True ausgewertet wird.

Erstellen wir eine neue Python-Datei mit dem Namen empty_list.py im Verzeichnis ~/project mithilfe des VS Code-Editors.

## Create an empty list
my_list = []

## Check if the list is empty
if not my_list:
    print("The list is empty")
else:
    print("The list is not empty")

Speichern Sie die Datei. Öffnen Sie nun ein Terminal im Verzeichnis ~/project und führen Sie das Skript aus:

python empty_list.py

Sie sollten die folgende Ausgabe sehen:

The list is empty

Jetzt ändern wir die Liste so, dass sie einige Elemente enthält:

## Create a list with elements
my_list = ["apple", "banana", "cherry"]

## Check if the list is empty
if not my_list:
    print("The list is empty")
else:
    print("The list is not empty")

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

python empty_list.py

Sie sollten jetzt die folgende Ausgabe sehen:

The list is not empty

Sie können auch die Funktion len() verwenden, um die Länge der Liste zu prüfen. Wenn die Länge 0 ist, ist die Liste leer.

Ändern Sie die Datei empty_list.py, um die Funktion len() zu verwenden:

## Create an empty list
my_list = []

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

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

python empty_list.py

Sie sollten die folgende Ausgabe sehen:

The list is empty

Beide Methoden werden in Python häufig verwendet, um auf leere Listen zu prüfen. Die erste Methode (die direkte Verwendung der Liste in einem booleschen Kontext) wird oft als mehr "Pythonic" und lesbarer angesehen.

Zusammenfassung

In diesem Labo (Lab) konzentriert sich der erste Schritt darauf, String-Listen (Listen, bei denen jedes Element ein String ist) in Python zu verstehen. Das Labo führt Sie durch das Erstellen einer String-Liste, das Zugreifen auf Elemente über den Index (denken Sie daran, dass Python nullbasierte Indizierung verwendet), das Ändern von Elementen und das Hinzufügen neuer Elemente mit der Methode append().

Dieser Abschnitt bildet die Grundlage für die Arbeit mit String-Listen, die für Aufgaben wie die Verarbeitung von Textdaten und die Manipulation von Dateinamen unerlässlich sind. Die Beispiele zeigen, wie man String-Listen erstellt, darauf zugreift und sie ändert, und bieten so eine praktische Einführung in diese grundlegende Datenstruktur.