Comment vérifier si un ensemble 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, vous apprendrez à vérifier si un ensemble (set) en Python ne contient que des chaînes de caractères (strings). Nous commencerons par explorer les bases des ensembles de chaînes de caractères, y compris leur création, l'unicité des éléments et les opérations d'ensemble courantes telles que l'union et l'intersection. Vous créerez un fichier string_sets.py dans le répertoire ~/project et utiliserez la commande python pour exécuter les extraits de code, en observant comment les ensembles gèrent les entrées en double et effectuent les opérations d'ensemble.

Le laboratoire vous guidera ensuite dans l'utilisation de la fonction all() avec isinstance() pour vérifier que tous les éléments d'un ensemble sont bien des chaînes de caractères. Enfin, vous apprendrez à gérer les ensembles vides et à vous assurer que votre code gère correctement ce cas limite lors de la vérification des ensembles ne contenant que des chaînes de caractères.


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/type_conversion("Type Conversion") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/DataStructuresGroup -.-> python/sets("Sets") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") subgraph Lab Skills python/type_conversion -.-> lab-559560{{"Comment vérifier si un ensemble ne contient que des chaînes de caractères en Python"}} python/conditional_statements -.-> lab-559560{{"Comment vérifier si un ensemble ne contient que des chaînes de caractères en Python"}} python/sets -.-> lab-559560{{"Comment vérifier si un ensemble ne contient que des chaînes de caractères en Python"}} python/build_in_functions -.-> lab-559560{{"Comment vérifier si un ensemble ne contient que des chaînes de caractères en Python"}} python/data_collections -.-> lab-559560{{"Comment vérifier si un ensemble ne contient que des chaînes de caractères en Python"}} end

Apprendre les ensembles de chaînes de caractères

Dans cette étape, vous allez apprendre à propos des ensembles de chaînes de caractères (string sets) en Python. Un ensemble (set) est une collection non ordonnée d'éléments uniques. Cela signifie qu'un ensemble ne peut pas contenir de valeurs en double. Les ensembles sont utiles pour effectuer des opérations mathématiques sur les ensembles telles que l'union, l'intersection et la différence. Dans ce laboratoire, nous allons nous concentrer sur les ensembles contenant des chaînes de caractères.

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

## ~/project/string_sets.py
string_set = {"apple", "banana", "cherry"}
print(string_set)

Enregistrez le fichier. Maintenant, exécutez le script en utilisant la commande python dans le terminal :

python ~/project/string_sets.py

Vous devriez voir la sortie suivante (l'ordre des éléments peut varier car les ensembles ne sont pas ordonnés) :

{'cherry', 'banana', 'apple'}

Maintenant, ajoutons un élément en double à l'ensemble et voyons ce qui se passe :

## ~/project/string_sets.py
string_set = {"apple", "banana", "cherry", "apple"}
print(string_set)

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

python ~/project/string_sets.py

La sortie sera :

{'cherry', 'banana', 'apple'}

Remarquez que le doublon "apple" a été automatiquement supprimé. Les ensembles ne stockent que des éléments uniques.

Ensuite, explorons quelques opérations d'ensemble courantes. Nous allons créer deux ensembles et effectuer des opérations d'union et d'intersection.

## ~/project/string_sets.py
set1 = {"apple", "banana", "cherry"}
set2 = {"banana", "date", "fig"}

## Union de deux ensembles
union_set = set1.union(set2)
print("Union:", union_set)

## Intersection de deux ensembles
intersection_set = set1.intersection(set2)
print("Intersection:", intersection_set)

Enregistrez le fichier et exécutez - le :

python ~/project/string_sets.py

La sortie sera :

Union: {'cherry', 'banana', 'date', 'apple', 'fig'}
Intersection: {'banana'}

L'union des deux ensembles contient tous les éléments uniques des deux ensembles. L'intersection contient seulement les éléments communs aux deux ensembles.

Appliquer all() avec isinstance()

Dans cette étape, vous apprendrez à utiliser la fonction all() en combinaison avec isinstance() pour vérifier si tous les éléments d'un ensemble (set) sont des chaînes de caractères (strings).

La fonction all() renvoie True si tous les éléments d'un itérable (comme un ensemble) sont considérés comme vrais. Si au moins un élément est faux, all() renvoie False.

La fonction isinstance() vérifie si un objet est une instance d'une classe particulière. Dans notre cas, nous l'utiliserons pour vérifier si chaque élément de l'ensemble est une chaîne de caractères.

Commençons par créer un ensemble ne contenant que des chaînes de caractères. Ouvrez le fichier string_sets.py dans le répertoire ~/project à l'aide de l'éditeur VS Code. Modifiez le fichier pour inclure le code suivant :

## ~/project/string_sets.py
string_set = {"apple", "banana", "cherry"}

## Vérifier si tous les éléments sont des chaînes de caractères
all_strings = all(isinstance(item, str) for item in string_set)
print("Are all elements strings?", all_strings)

Enregistrez le fichier. Maintenant, exécutez le script en utilisant la commande python dans le terminal :

python ~/project/string_sets.py

Vous devriez voir la sortie suivante :

Are all elements strings? True

Cela confirme que tous les éléments de l'ensemble sont des chaînes de caractères.

Maintenant, ajoutons un élément qui n'est pas une chaîne de caractères (par exemple, un entier) à l'ensemble et voyons ce qui se passe :

## ~/project/string_sets.py
string_set = {"apple", "banana", "cherry", 123}

## Vérifier si tous les éléments sont des chaînes de caractères
all_strings = all(isinstance(item, str) for item in string_set)
print("Are all elements strings?", all_strings)

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

python ~/project/string_sets.py

La sortie sera :

Are all elements strings? False

Comme prévu, la fonction all() renvoie False car tous les éléments de l'ensemble ne sont pas des chaînes de caractères.

Cette technique est utile pour valider des données et s'assurer qu'un ensemble ne contient que des éléments d'un type spécifique.

Vérifier si un ensemble est vide

Dans cette étape, vous apprendrez à vérifier si un ensemble (set) est vide en Python. Un ensemble vide est un ensemble qui ne contient aucun élément.

Vérifier si un ensemble est vide est une tâche courante en programmation, notamment lorsqu'il s'agit de traiter des données ou de gérer des logiques conditionnelles.

Pour créer un ensemble vide, vous pouvez utiliser le constructeur set() sans aucun argument. Modifions le fichier string_sets.py dans le répertoire ~/project à l'aide de l'éditeur VS Code pour inclure le code suivant :

## ~/project/string_sets.py
empty_set = set()

## Vérifier si l'ensemble est vide
if not empty_set:
    print("The set is empty")
else:
    print("The set is not empty")

Enregistrez le fichier. Maintenant, exécutez le script en utilisant la commande python dans le terminal :

python ~/project/string_sets.py

Vous devriez voir la sortie suivante :

The set is empty

Cela confirme que l'ensemble empty_set est bien vide.

Maintenant, créons un ensemble non vide et vérifions si notre logique fonctionne toujours :

## ~/project/string_sets.py
non_empty_set = {"apple", "banana", "cherry"}

## Vérifier si l'ensemble est vide
if not non_empty_set:
    print("The set is empty")
else:
    print("The set is not empty")

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

python ~/project/string_sets.py

La sortie sera :

The set is not empty

Comme prévu, le code identifie correctement que l'ensemble n'est pas vide.

Une autre façon de vérifier si un ensemble est vide consiste à utiliser la fonction len(), qui renvoie le nombre d'éléments dans l'ensemble. Si la longueur est égale à 0, l'ensemble est vide.

## ~/project/string_sets.py
empty_set = set()

## Vérifier si l'ensemble est vide en utilisant len()
if len(empty_set) == 0:
    print("The set is empty")
else:
    print("The set is not empty")

Enregistrez le fichier et exécutez - le :

python ~/project/string_sets.py

La sortie sera :

The set is empty

Cela démontre une méthode alternative pour vérifier si un ensemble est vide.

Résumé

Dans ce laboratoire (lab), vous avez appris à utiliser les ensembles de chaînes de caractères (string sets) en Python, qui sont des collections non ordonnées d'éléments uniques. Vous avez créé un ensemble de chaînes de caractères, constaté que les éléments en double sont automatiquement supprimés et exploré des opérations courantes sur les ensembles telles que l'union et l'intersection. Le laboratoire a démontré comment définir des ensembles de chaînes de caractères et effectuer des opérations de base pour comprendre leur comportement et leurs caractéristiques.

Le laboratoire a également abordé la création d'un script Python, sa sauvegarde dans le répertoire ~/project et son exécution à l'aide de la commande python dans le terminal. Vous avez observé la sortie des opérations sur les ensembles, notant que l'ordre des éléments peut varier en raison de la nature non ordonnée des ensembles.