Comment vérifier si une liste contient une chaîne 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 labo, vous apprendrez à vérifier si une liste contient une chaîne de caractères en Python. Le labo commence par l'introduction du concept fondamental des chaînes de caractères, en montrant comment accéder à des caractères individuels à l'aide de l'indexation, extraire des sous-chaînes à l'aide du découpage (slicing) et déterminer la longueur d'une chaîne de caractères.

Vous commencerez par créer un script Python nommé string_elements.py pour explorer les éléments des chaînes de caractères. Ce script affectera une chaîne de caractères à une variable, accédera à des caractères individuels, extraira des sous-chaînes et calculera la longueur de la chaîne de caractères, fournissant ainsi une base pour comprendre la manipulation des chaînes de caractères en Python.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python/BasicConceptsGroup -.-> python/strings("Strings") python/BasicConceptsGroup -.-> python/booleans("Booleans") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") subgraph Lab Skills python/strings -.-> lab-559525{{"Comment vérifier si une liste contient une chaîne de caractères en Python"}} python/booleans -.-> lab-559525{{"Comment vérifier si une liste contient une chaîne de caractères en Python"}} python/build_in_functions -.-> lab-559525{{"Comment vérifier si une liste contient une chaîne de caractères en Python"}} python/data_collections -.-> lab-559525{{"Comment vérifier si une liste contient une chaîne de caractères en Python"}} end

Apprendre les éléments des chaînes de caractères

Dans cette étape, vous allez apprendre le concept fondamental des chaînes de caractères en Python. Les chaînes de caractères sont des séquences de caractères et sont l'un des types de données les plus couramment utilisés en programmation. Comprendre comment manipuler les chaînes de caractères est essentiel pour des tâches telles que la manipulation de données, le traitement de texte et la gestion des entrées utilisateur.

Tout d'abord, créons un simple script Python pour explorer les éléments des chaînes de caractères.

  1. Ouvrez l'éditeur VS Code dans l'environnement LabEx.

  2. Créez un nouveau fichier nommé string_elements.py dans le répertoire ~/project.

    ~/project/string_elements.py
  3. Ajoutez le code suivant au fichier string_elements.py :

    ## Assign a string to a variable
    my_string = "Hello, LabEx!"
    
    ## Accessing individual characters using indexing
    first_character = my_string[0]
    print("First character:", first_character)
    
    ## String slicing to extract a substring
    substring = my_string[7:12]
    print("Substring:", substring)
    
    ## String length
    string_length = len(my_string)
    print("String length:", string_length)

    Ce script montre comment accéder à des caractères individuels dans une chaîne de caractères à l'aide de l'indexation, extraire des sous-chaînes à l'aide du découpage (slicing) et déterminer la longueur d'une chaîne de caractères à l'aide de la fonction len().

    • my_string = "Hello, LabEx!" : Cette ligne assigne la chaîne de caractères "Hello, LabEx!" à la variable my_string.
    • first_character = my_string[0] : Cette ligne accède au caractère à l'index 0 (le premier caractère) de my_string et l'assigne à la variable first_character. En Python, l'indexation commence à 0.
    • substring = my_string[7:12] : Cette ligne extrait une sous-chaîne de my_string en commençant à l'index 7 et en se terminant à l'index 12 (exclu). La sous-chaîne sera "LabEx".
    • string_length = len(my_string) : Cette ligne calcule la longueur de my_string à l'aide de la fonction len() et l'assigne à la variable string_length.
  4. Enregistrez le fichier string_elements.py.

  5. Exécutez le script en utilisant la commande suivante dans le terminal :

    python string_elements.py
  6. Vous devriez voir la sortie suivante :

    First character: H
    Substring: LabEx
    String length: 13

    Cette sortie confirme que vous avez réussi à accéder à des caractères individuels, à extraire des sous-chaînes et à déterminer la longueur de la chaîne de caractères.

Appliquer any() avec isinstance()

Dans cette étape, vous apprendrez à utiliser la fonction any() en combinaison avec la fonction isinstance() pour vérifier si au moins un élément d'une liste est une instance d'un type de données spécifique, comme une chaîne de caractères. Il s'agit d'une technique puissante pour valider les données et s'assurer que votre code gère correctement différents types de données.

Créons un script Python pour illustrer ce concept.

  1. Ouvrez l'éditeur VS Code dans l'environnement LabEx.

  2. Créez un nouveau fichier nommé any_isinstance.py dans le répertoire ~/project.

    ~/project/any_isinstance.py
  3. Ajoutez le code suivant au fichier any_isinstance.py :

    ## List containing different data types
    my_list = [1, 2, "hello", 4, 5, "world"]
    
    ## Check if any element in the list is a string
    has_string = any(isinstance(item, str) for item in my_list)
    
    ## Print the result
    print("List contains a string:", has_string)

    Ce script vérifie si la liste my_list contient des éléments de type chaîne de caractères en utilisant any() et isinstance().

    • my_list = [1, 2, "hello", 4, 5, "world"] : Cette ligne crée une liste nommée my_list contenant des entiers et des chaînes de caractères.
    • has_string = any(isinstance(item, str) for item in my_list) : Cette ligne utilise une expression génératrice (isinstance(item, str) for item in my_list) pour vérifier si chaque item de my_list est une instance du type str (c'est-à-dire une chaîne de caractères). La fonction any() renvoie True si au moins un élément de l'expression génératrice est True, et False sinon.
    • print("List contains a string:", has_string) : Cette ligne affiche le résultat de la vérification.
  4. Enregistrez le fichier any_isinstance.py.

  5. Exécutez le script en utilisant la commande suivante dans le terminal :

    python any_isinstance.py
  6. Vous devriez voir la sortie suivante :

    List contains a string: True

    Cette sortie confirme que le script a correctement identifié que la liste contient au moins un élément de type chaîne de caractères.

Localiser les positions des chaînes de caractères

Dans cette étape, vous apprendrez à localiser la position d'une sous-chaîne au sein d'une chaîne plus longue en utilisant les méthodes find() et index(). Ces méthodes sont essentielles pour des tâches telles que la recherche de motifs spécifiques dans un texte et l'extraction d'informations pertinentes.

Créons un script Python pour montrer comment localiser les positions des chaînes de caractères.

  1. Ouvrez l'éditeur VS Code dans l'environnement LabEx.

  2. Créez un nouveau fichier nommé string_positions.py dans le répertoire ~/project.

    ~/project/string_positions.py
  3. Ajoutez le code suivant au fichier string_positions.py :

    ## String to search within
    my_string = "This is a sample string for demonstration."
    
    ## Find the index of the first occurrence of "sample"
    index_of_sample = my_string.find("sample")
    print("Index of 'sample':", index_of_sample)
    
    ## Find the index of the first occurrence of "string"
    index_of_string = my_string.find("string")
    print("Index of 'string':", index_of_string)
    
    ## Find the index of a non-existent substring
    index_of_nonexistent = my_string.find("xyz")
    print("Index of 'xyz':", index_of_nonexistent)
    
    ## Using index() method
    try:
        index_of_demo = my_string.index("demo")
        print("Index of 'demo':", index_of_demo)
    except ValueError:
        print("'demo' not found")

    Ce script montre comment utiliser les méthodes find() et index() pour localiser des sous-chaînes au sein d'une chaîne de caractères.

    • my_string = "This is a sample string for demonstration." : Cette ligne assigne la chaîne de caractères "This is a sample string for demonstration." à la variable my_string.
    • index_of_sample = my_string.find("sample") : Cette ligne utilise la méthode find() pour trouver l'index de la première occurrence de la sous-chaîne "sample" dans my_string. La méthode find() renvoie l'index de la première occurrence, ou -1 si la sous-chaîne n'est pas trouvée.
    • index_of_nonexistent = my_string.find("xyz") : Cette ligne montre ce qui se passe lorsque la sous-chaîne n'est pas trouvée. find() renvoie -1.
    • La méthode index() est similaire à find(), mais elle lève une exception ValueError si la sous-chaîne n'est pas trouvée. Le bloc try...except gère cette exception.
  4. Enregistrez le fichier string_positions.py.

  5. Exécutez le script en utilisant la commande suivante dans le terminal :

    python string_positions.py
  6. Vous devriez voir la sortie suivante :

    Index of 'sample': 10
    Index of 'string': 17
    Index of 'xyz': -1
    Index of 'demo': 27

    Cette sortie confirme que le script a correctement localisé les positions des sous-chaînes "sample", "string" et "demo" au sein de la chaîne principale, et qu'il a géré le cas où une sous-chaîne n'est pas trouvée.

Résumé

Dans ce laboratoire, la première étape consiste à comprendre les éléments de chaîne de caractères en Python. Elle implique la création d'un fichier string_elements.py dans le répertoire ~/project à l'intérieur de l'éditeur VS Code.

Le script montre comment assigner une chaîne de caractères à une variable, accéder à des caractères individuels en utilisant l'indexation (en commençant par 0), extraire des sous-chaînes en utilisant le découpage (slicing) et déterminer la longueur d'une chaîne de caractères en utilisant la fonction len(). L'exemple utilise la chaîne de caractères "Hello, LabEx!" pour illustrer ces concepts.