Comment vérifier si une variable est une liste 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 une variable est une liste en Python. Cela implique de comprendre la structure de données fondamentale des listes, qui sont des collections ordonnées et modifiables d'éléments.

Le laboratoire vous guide tout au long de la création de différents types de listes à l'aide de VS Code dans l'environnement LabEx, y compris des listes de nombres, de chaînes de caractères et de types de données mixtes. Vous explorerez ensuite l'accès aux éléments d'une liste en utilisant leur index. Le laboratoire montrera également comment identifier les listes à l'aide de fonctions intégrées de Python telles que type() et isinstance().

Comprendre les listes

Dans cette étape, vous allez apprendre à connaître les listes, l'une des structures de données les plus polyvalentes et fondamentales en Python. Les listes servent à stocker des collections d'éléments, qui peuvent être de n'importe quel type de données. Elles sont ordonnées, ce qui signifie que les éléments ont une séquence spécifique, et modifiables, ce qui signifie que vous pouvez changer leur contenu après leur création.

Commençons par créer une liste simple :

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

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

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

    ## Creating a list of numbers
    numbers = [1, 2, 3, 4, 5]
    print("List of numbers:", numbers)
    
    ## Creating a list of strings
    fruits = ["apple", "banana", "cherry"]
    print("List of fruits:", fruits)
    
    ## Creating a list of mixed data types
    mixed_list = [1, "hello", 3.14, True]
    print("List of mixed data types:", mixed_list)

    Ici, nous avons créé trois listes différentes : numbers contenant des entiers, fruits contenant des chaînes de caractères et mixed_list contenant un mélange de types de données.

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

    python ~/project/lists_example.py

    Vous devriez voir la sortie suivante :

    List of numbers: [1, 2, 3, 4, 5]
    List of fruits: ['apple', 'banana', 'cherry']
    List of mixed data types: [1, 'hello', 3.14, True]

Maintenant, explorons quelques opérations courantes sur les listes :

  1. Accéder aux éléments : Vous pouvez accéder aux éléments d'une liste en utilisant leur index (position). L'index commence à 0 pour le premier élément.

    Ajoutez le code suivant à lists_example.py :

    fruits = ["apple", "banana", "cherry"]
    print("First fruit:", fruits[0])  ## Accessing the first element
    print("Second fruit:", fruits[1]) ## Accessing the second element
    print("Third fruit:", fruits[2])  ## Accessing the third element
  2. Exécutez le script à nouveau :

    python ~/project/lists_example.py

    Vous devriez voir la sortie suivante :

    First fruit: apple
    Second fruit: banana
    Third fruit: cherry
  3. Modifier des éléments : Vous pouvez changer la valeur d'un élément d'une liste en assignant une nouvelle valeur à son index.

    Ajoutez le code suivant à lists_example.py :

    fruits = ["apple", "banana", "cherry"]
    fruits[1] = "grape"  ## Changing the second element
    print("Modified list of fruits:", fruits)
  4. Exécutez le script à nouveau :

    python ~/project/lists_example.py

    Vous devriez voir la sortie suivante :

    Modified list of fruits: ['apple', 'grape', 'cherry']
  5. Ajouter des éléments : Vous pouvez ajouter des éléments à la fin d'une liste en utilisant la méthode append().

    Ajoutez le code suivant à lists_example.py :

    fruits = ["apple", "banana", "cherry"]
    fruits.append("orange")  ## Adding an element to the end
    print("List with added fruit:", fruits)
  6. Exécutez le script à nouveau :

    python ~/project/lists_example.py

    Vous devriez voir la sortie suivante :

    List with added fruit: ['apple', 'banana', 'cherry', 'orange']

Comprendre les listes et savoir les manipuler est essentiel pour écrire des programmes Python efficaces.

Utiliser type() pour identifier

Dans cette étape, vous apprendrez à utiliser la fonction type() en Python pour identifier le type de données d'une variable. Comprendre les types de données est essentiel pour écrire un code correct et efficace. La fonction type() renvoie le type d'un objet.

Créons un nouveau fichier Python pour explorer la fonction type() :

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

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

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

    ## Using type() to identify data types
    
    number = 10
    print("Type of number:", type(number))
    
    floating_point = 3.14
    print("Type of floating_point:", type(floating_point))
    
    text = "Hello, LabEx!"
    print("Type of text:", type(text))
    
    is_true = True
    print("Type of is_true:", type(is_true))
    
    my_list = [1, 2, 3]
    print("Type of my_list:", type(my_list))
    
    my_tuple = (1, 2, 3)
    print("Type of my_tuple:", type(my_tuple))
    
    my_dict = {"name": "Alice", "age": 30}
    print("Type of my_dict:", type(my_dict))

    Dans ce code, nous utilisons type() pour déterminer le type de données de différentes variables, y compris des entiers, des nombres à virgule flottante, des chaînes de caractères, des booléens, des listes, des tuples et des dictionnaires.

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

    python ~/project/type_example.py

    Vous devriez voir la sortie suivante :

    Type of number: <class 'int'>
    Type of floating_point: <class 'float'>
    Type of text: <class 'str'>
    Type of is_true: <class 'bool'>
    Type of my_list: <class 'list'>
    Type of my_tuple: <class 'tuple'>
    Type of my_dict: <class 'dict'>

La sortie montre le type de données de chaque variable. Par exemple, <class 'int'> indique que la variable est un entier, <class 'str'> indique une chaîne de caractères, et ainsi de suite.

Comprendre le type de données d'une variable est essentiel pour effectuer des opérations correctement. Par exemple, vous ne pouvez pas ajouter une chaîne de caractères à un entier directement sans convertir d'abord la chaîne de caractères en entier. La fonction type() vous aide à identifier ces problèmes potentiels dans votre code.

Confirmer avec isinstance()

Dans cette étape, vous apprendrez à utiliser la fonction isinstance() en Python pour confirmer si un objet est une instance d'une classe ou d'un type particulier. C'est une méthode plus robuste pour vérifier les types de données par rapport à l'utilisation directe de type(), notamment lorsqu'il s'agit d'héritage.

Créons un nouveau fichier Python pour explorer la fonction isinstance() :

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

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

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

    ## Using isinstance() to confirm data types
    
    number = 10
    print("Is number an integer?", isinstance(number, int))
    
    floating_point = 3.14
    print("Is floating_point a float?", isinstance(floating_point, float))
    
    text = "Hello, LabEx!"
    print("Is text a string?", isinstance(text, str))
    
    is_true = True
    print("Is is_true a boolean?", isinstance(is_true, bool))
    
    my_list = [1, 2, 3]
    print("Is my_list a list?", isinstance(my_list, list))
    
    my_tuple = (1, 2, 3)
    print("Is my_tuple a tuple?", isinstance(my_tuple, tuple))
    
    my_dict = {"name": "Alice", "age": 30}
    print("Is my_dict a dictionary?", isinstance(my_dict, dict))

    Dans ce code, nous utilisons isinstance() pour vérifier si chaque variable est une instance du type de données attendu. La fonction isinstance() renvoie True si l'objet est une instance du type spécifié, et False sinon.

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

    python ~/project/isinstance_example.py

    Vous devriez voir la sortie suivante :

    Is number an integer? True
    Is floating_point a float? True
    Is text a string? True
    Is is_true a boolean? True
    Is my_list a list? True
    Is my_tuple a tuple? True
    Is my_dict a dictionary? True

Maintenant, considérons un scénario avec de l'héritage :

  1. Ajoutez le code suivant à isinstance_example.py :

    class Animal:
        pass
    
    class Dog(Animal):
        pass
    
    animal = Animal()
    dog = Dog()
    
    print("Is animal an Animal?", isinstance(animal, Animal))
    print("Is dog a Dog?", isinstance(dog, Dog))
    print("Is dog an Animal?", isinstance(dog, Animal))
    print("Is animal a Dog?", isinstance(animal, Dog))
  2. Exécutez le script à nouveau :

    python ~/project/isinstance_example.py

    Vous devriez voir la sortie suivante :

    Is animal an Animal? True
    Is dog a Dog? True
    Is dog an Animal? True
    Is animal a Dog? False

    Comme vous pouvez le voir, isinstance() identifie correctement qu'un Dog est également un Animal car Dog hérite de Animal. C'est là que isinstance() est plus puissant que la comparaison directe de types avec type().

L'utilisation de isinstance() rend votre code plus flexible et robuste lorsqu'il s'agit de différents types de données et d'héritage.

Résumé

Dans ce laboratoire, vous avez appris à connaître les listes, une structure de données fondamentale en Python utilisée pour stocker des collections ordonnées et mutables d'éléments de différents types de données. Vous avez créé des listes contenant des nombres, des chaînes de caractères et des types de données mixtes, et les avez affichées dans la console.

Le laboratoire a également présenté l'accès aux éléments d'une liste en utilisant leur index, en commençant par 0 pour le premier élément. Vous avez accédé et affiché des éléments spécifiques d'une liste de fruits pour illustrer ce concept.