Comment vérifier si une liste ne contient que des chaînes de caractères en Python

PythonPythonBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire (lab), vous apprendrez à vérifier si une liste ne contient que des chaînes de caractères (strings) en Python. Vous commencerez par explorer les listes de chaînes de caractères, en comprenant comment les créer, accéder aux éléments par leur index, modifier les éléments et ajouter de nouveaux éléments en utilisant la méthode append().

Le laboratoire vous guidera ensuite dans l'utilisation de la fonction all() avec isinstance() pour vérifier efficacement si tous les éléments d'une liste sont des chaînes de caractères. Enfin, vous apprendrez à gérer les listes vides comme un cas particulier lors de la vérification des listes ne contenant que des chaînes de caractères.


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{{"Comment vérifier si une liste ne contient que des chaînes de caractères en Python"}} python/conditional_statements -.-> lab-559528{{"Comment vérifier si une liste ne contient que des chaînes de caractères en Python"}} python/lists -.-> lab-559528{{"Comment vérifier si une liste ne contient que des chaînes de caractères en Python"}} python/build_in_functions -.-> lab-559528{{"Comment vérifier si une liste ne contient que des chaînes de caractères en Python"}} python/data_collections -.-> lab-559528{{"Comment vérifier si une liste ne contient que des chaînes de caractères en Python"}} end

Explorer les listes de chaînes de caractères (string lists)

Dans cette étape, vous allez apprendre à manipuler les listes de chaînes de caractères en Python. Une liste de chaînes de caractères est simplement une liste où chaque élément est une chaîne de caractères. Les listes sont une structure de données fondamentale en Python, utilisées pour stocker une collection ordonnée d'éléments. Comprendre comment manipuler les listes de chaînes de caractères est essentiel pour de nombreuses tâches de programmation, telles que le traitement de données textuelles, la manipulation de noms de fichiers, etc.

Tout d'abord, créons une simple liste de chaînes de caractères. Ouvrez l'éditeur VS Code dans l'environnement LabEx. Créez un nouveau fichier nommé string_list.py dans le répertoire ~/project.

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

## Print the list
print(my_list)

Enregistrez le fichier. Maintenant, ouvrez un terminal dans le répertoire ~/project et exécutez le script :

python string_list.py

Vous devriez voir la sortie suivante :

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

Maintenant, explorons quelques opérations courantes que vous pouvez effectuer sur les listes de chaînes de caractères. Vous pouvez accéder à des éléments individuels de la liste en utilisant leur index. N'oubliez pas que Python utilise une numérotation des index à partir de zéro, ce qui signifie que le premier élément a un index de 0.

Ajoutez le code suivant à votre fichier string_list.py :

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

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

Exécutez le script à nouveau :

python string_list.py

Vous devriez voir la sortie suivante :

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

Vous pouvez également modifier des éléments dans la liste :

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

Exécutez le script à nouveau :

python string_list.py

Vous devriez voir la sortie suivante :

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

Enfin, vous pouvez ajouter de nouveaux éléments à la liste en utilisant la méthode append() :

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

Exécutez le script une dernière fois :

python string_list.py

Vous devriez voir la sortie suivante :

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

Cela démontre les opérations de base que vous pouvez effectuer sur les listes de chaînes de caractères en Python. Dans les étapes suivantes, vous apprendrez des techniques plus avancées pour manipuler les listes.

Appliquer all() avec isinstance()

Dans cette étape, vous apprendrez à utiliser la fonction all() en combinaison avec la fonction isinstance() pour vérifier si tous les éléments d'une liste sont des chaînes de caractères (strings). C'est une tâche courante lorsque vous avez besoin de valider le contenu d'une liste avant de la traiter plus avant.

La fonction all() renvoie True si tous les éléments d'un itérable (comme une liste) sont considérés comme vrais. Sinon, elle renvoie False. La fonction isinstance() vérifie si un objet est une instance d'une classe ou d'un type particulier.

Commençons par créer un nouveau fichier Python nommé check_string_list.py dans le répertoire ~/project en utilisant l'éditeur VS Code.

## 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)

Enregistrez le fichier. Maintenant, ouvrez un terminal dans le répertoire ~/project et exécutez le script :

python check_string_list.py

Vous devriez voir la sortie suivante :

False

Cela est dû au fait que la liste contient un entier (123), qui n'est pas une chaîne de caractères.

Maintenant, modifions la liste pour qu'elle ne contienne que des chaînes de caractères :

## 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)

Enregistrez le fichier et exécutez le script à nouveau :

python check_string_list.py

Vous devriez maintenant voir la sortie suivante :

True

Voici une explication de ce qui se passe dans le code :

  • isinstance(item, str) : Cela vérifie si chaque item de la liste est une chaîne de caractères. Il renvoie True si c'est le cas, et False sinon.
  • (isinstance(item, str) for item in my_list) : Il s'agit d'une expression génératrice qui produit une séquence de valeurs booléennes (True ou False) indiquant si chaque élément de la liste est une chaîne de caractères.
  • all(...) : Cette fonction prend la séquence de valeurs booléennes de l'expression génératrice et renvoie True seulement si toutes les valeurs sont True. Si une valeur est False, elle renvoie False.

Cette combinaison de all() et isinstance() offre un moyen concis et efficace de valider que tous les éléments d'une liste sont d'un type spécifique.

Vérifier si une liste est vide

Dans cette étape, vous apprendrez à vérifier si une liste est vide en Python. Vérifier si une liste est vide est une tâche courante, notamment lors du traitement de données ou de la gestion de l'entrée utilisateur. Une liste vide est une liste qui ne contient aucun élément.

Python propose un moyen simple de vérifier si une liste est vide : vous pouvez utiliser directement la liste dans un contexte booléen. Une liste vide est évaluée comme False, tandis qu'une liste non vide est évaluée comme True.

Créons un nouveau fichier Python nommé empty_list.py dans le répertoire ~/project en utilisant l'éditeur VS Code.

## 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")

Enregistrez le fichier. Maintenant, ouvrez un terminal dans le répertoire ~/project et exécutez le script :

python empty_list.py

Vous devriez voir la sortie suivante :

The list is empty

Maintenant, modifions la liste pour qu'elle contienne quelques éléments :

## 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")

Enregistrez le fichier et exécutez le script à nouveau :

python empty_list.py

Vous devriez maintenant voir la sortie suivante :

The list is not empty

Vous pouvez également utiliser la fonction len() pour vérifier la longueur de la liste. Si la longueur est de 0, la liste est vide.

Modifiez le fichier empty_list.py pour utiliser la fonction len() :

## 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")

Enregistrez le fichier et exécutez le script :

python empty_list.py

Vous devriez voir la sortie suivante :

The list is empty

Les deux méthodes sont couramment utilisées pour vérifier si une liste est vide en Python. La première méthode (utilisation directe de la liste dans un contexte booléen) est souvent considérée comme plus « Pythonique » et plus lisible.

Résumé

Dans ce laboratoire (lab), la première étape consiste à comprendre les listes de chaînes de caractères (string lists) en Python, qui sont des listes où chaque élément est une chaîne de caractères. Le laboratoire vous guide tout au long de la création d'une liste de chaînes de caractères, de l'accès aux éléments par index (en rappelant que Python utilise une numérotation des index à partir de zéro), de la modification des éléments et de l'ajout de nouveaux éléments à l'aide de la méthode append().

Cette section fournit une base pour travailler avec les listes de chaînes de caractères, qui sont essentielles pour des tâches telles que le traitement de données textuelles et la manipulation de noms de fichiers. Les exemples montrent comment créer, accéder et modifier des listes de chaînes de caractères, offrant une introduction pratique à cette structure de données fondamentale.