Comment vérifier si une liste contient un nombre 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 liste contient un nombre en Python, en vous concentrant sur la gestion des listes de types mixtes. Vous commencerez par explorer les listes de types mixtes, qui contiennent des éléments de différents types de données tels que des entiers, des chaînes de caractères et des booléens.

Vous créerez un fichier mixed_list.py, le remplirez avec une liste de types mixtes et pratiquez l'accès et la modification de ses éléments en utilisant l'indexation. Cette expérience pratique vous fournira une base pour identifier les éléments numériques dans de telles listes en utilisant des techniques telles que any() et isinstance(), qui sont abordées dans les étapes suivantes.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python(("Python")) -.-> python/PythonStandardLibraryGroup(["Python Standard Library"]) python/BasicConceptsGroup -.-> python/variables_data_types("Variables and Data Types") python/BasicConceptsGroup -.-> python/numeric_types("Numeric Types") python/BasicConceptsGroup -.-> python/type_conversion("Type Conversion") python/ControlFlowGroup -.-> python/for_loops("For Loops") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") python/PythonStandardLibraryGroup -.-> python/data_collections("Data Collections") subgraph Lab Skills python/variables_data_types -.-> lab-559523{{"Comment vérifier si une liste contient un nombre en Python"}} python/numeric_types -.-> lab-559523{{"Comment vérifier si une liste contient un nombre en Python"}} python/type_conversion -.-> lab-559523{{"Comment vérifier si une liste contient un nombre en Python"}} python/for_loops -.-> lab-559523{{"Comment vérifier si une liste contient un nombre en Python"}} python/build_in_functions -.-> lab-559523{{"Comment vérifier si une liste contient un nombre en Python"}} python/data_collections -.-> lab-559523{{"Comment vérifier si une liste contient un nombre en Python"}} end

Explorer les listes de types mixtes

Dans cette étape, vous allez apprendre à propos des listes de types mixtes en Python. Une liste de types mixtes est une liste qui contient des éléments de différents types de données, tels que des entiers, des chaînes de caractères et des booléens. Comprendre comment travailler avec des listes de types mixtes est essentiel pour gérer des données diverses dans vos programmes Python.

Tout d'abord, créons une liste de types mixtes. Ouvrez l'éditeur VS Code dans l'environnement LabEx et créez un nouveau fichier nommé mixed_list.py dans le répertoire ~/project.

## Create a mixed-type list
my_list = [1, "hello", 3.14, True]

## Print the list
print(my_list)

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

python ~/project/mixed_list.py

Vous devriez voir la sortie suivante :

[1, 'hello', 3.14, True]

Comme vous pouvez le voir, la liste my_list contient un entier, une chaîne de caractères, un nombre à virgule flottante et une valeur booléenne.

Ensuite, accédons aux éléments de la liste de types mixtes en utilisant l'indexation :

## Access elements of the list
first_element = my_list[0]
second_element = my_list[1]
third_element = my_list[2]
fourth_element = my_list[3]

## Print the elements
print("First element:", first_element)
print("Second element:", second_element)
print("Third element:", third_element)
print("Fourth element:", fourth_element)

Ajoutez ces lignes à votre fichier mixed_list.py et enregistrez-le. Ensuite, exécutez le script à nouveau :

python ~/project/mixed_list.py

La sortie devrait être :

[1, 'hello', 3.14, True]
First element: 1
Second element: hello
Third element: 3.14
Fourth element: True

Vous pouvez également modifier les éléments d'une liste de types mixtes :

## Modify an element
my_list[0] = "new value"

## Print the modified list
print(my_list)

Ajoutez ces lignes à votre fichier mixed_list.py et enregistrez-le. Exécutez le script une fois de plus :

python ~/project/mixed_list.py

La sortie devrait maintenant être :

['new value', 'hello', 3.14, True]

Dans cet exemple, nous avons changé le premier élément de la liste d'un entier en une chaîne de caractères.

Les listes de types mixtes sont flexibles et peuvent être utiles dans diverses situations. Cependant, il est important de prendre en compte les types de données lors de l'exécution d'opérations sur les éléments d'une liste de types mixtes pour éviter des erreurs inattendues.

Utiliser any() avec isinstance()

Dans cette étape, vous apprendrez à utiliser la fonction any() en combinaison avec la fonction isinstance() pour vérifier si une liste contient au moins un élément d'un type spécifique. Cela est particulièrement utile lorsqu'on travaille avec des listes de types mixtes.

La fonction any() renvoie True si au moins un élément d'un itérable (comme une liste) est vrai. Sinon, elle renvoie False. La fonction isinstance() vérifie si un objet est une instance d'une classe ou d'un type spécifié.

Créons un script Python pour démontrer cela. Dans l'éditeur VS Code, créez un nouveau fichier nommé any_isinstance.py dans le répertoire ~/project.

## Create a mixed-type list
my_list = [1, "hello", 3.14, True]

## Check if the list contains any integers
has_integer = any(isinstance(x, int) for x in my_list)

## Print the result
print("List contains an integer:", has_integer)

## Check if the list contains any strings
has_string = any(isinstance(x, str) for x in my_list)

## Print the result
print("List contains a string:", has_string)

## Check if the list contains any floats
has_float = any(isinstance(x, float) for x in my_list)

## Print the result
print("List contains a float:", has_float)

## Check if the list contains any booleans
has_bool = any(isinstance(x, bool) for x in my_list)

## Print the result
print("List contains a boolean:", has_bool)

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

python ~/project/any_isinstance.py

Vous devriez voir la sortie suivante :

List contains an integer: True
List contains a string: True
List contains a float: True
List contains a boolean: True

Dans cet exemple, nous avons utilisé une expression génératrice (isinstance(x, int) for x in my_list) à l'intérieur de la fonction any(). Cette expression génératrice renvoie True si un élément x est une instance de int, et False sinon. La fonction any() vérifie ensuite si l'une de ces valeurs est True.

Modifions la liste pour voir comment la sortie change. Changez le premier élément de my_list en un nombre à virgule flottante :

## Create a mixed-type list
my_list = [1.0, "hello", 3.14, True]

## Check if the list contains any integers
has_integer = any(isinstance(x, int) for x in my_list)

## Print the result
print("List contains an integer:", has_integer)

## Check if the list contains any strings
has_string = any(isinstance(x, str) for x in my_list)

## Print the result
print("List contains a string:", has_string)

## Check if the list contains any floats
has_float = any(isinstance(x, float) for x in my_list)

## Print the result
print("List contains a float:", has_float)

## Check if the list contains any booleans
has_bool = any(isinstance(x, bool) for x in my_list)

## Print the result
print("List contains a boolean:", has_bool)

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

python ~/project/any_isinstance.py

La sortie devrait maintenant être :

List contains an integer: False
List contains a string: True
List contains a float: True
List contains a boolean: True

Maintenant, la liste ne contient plus d'entiers, donc has_integer est False.

Cette technique est utile pour valider le contenu d'une liste ou pour effectuer différentes actions en fonction des types d'éléments présents dans la liste.

Trouver les éléments numériques

Dans cette étape, vous apprendrez à trouver et extraire les éléments numériques (entiers et nombres à virgule flottante) d'une liste de types mixtes. Cela implique de parcourir la liste et d'utiliser la fonction isinstance() pour identifier les éléments numériques.

Créons un script Python pour démontrer cela. Dans l'éditeur VS Code, créez un nouveau fichier nommé find_numeric.py dans le répertoire ~/project.

## Create a mixed-type list
my_list = [1, "hello", 3.14, True, 5, "world", 2.71]

## Create an empty list to store numeric elements
numeric_elements = []

## Iterate through the list
for element in my_list:
    ## Check if the element is an integer or a float
    if isinstance(element, (int, float)):
        ## Add the element to the numeric_elements list
        numeric_elements.append(element)

## Print the list of numeric elements
print("Numeric elements:", numeric_elements)

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

python ~/project/find_numeric.py

Vous devriez voir la sortie suivante :

Numeric elements: [1, 3.14, 5, 2.71]

Dans cet exemple, nous avons parcouru la liste my_list et utilisé isinstance(element, (int, float)) pour vérifier si chaque élément est un entier ou un nombre à virgule flottante. Si c'est le cas, nous l'ajoutons à la liste numeric_elements.

Modifions le script pour afficher également la somme des éléments numériques :

## Create a mixed-type list
my_list = [1, "hello", 3.14, True, 5, "world", 2.71]

## Create an empty list to store numeric elements
numeric_elements = []

## Iterate through the list
for element in my_list:
    ## Check if the element is an integer or a float
    if isinstance(element, (int, float)):
        ## Add the element to the numeric_elements list
        numeric_elements.append(element)

## Print the list of numeric elements
print("Numeric elements:", numeric_elements)

## Calculate the sum of the numeric elements
numeric_sum = sum(numeric_elements)

## Print the sum
print("Sum of numeric elements:", numeric_sum)

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

python ~/project/find_numeric.py

La sortie devrait maintenant être :

Numeric elements: [1, 3.14, 5, 2.71]
Sum of numeric elements: 11.85

Cela démontre comment extraire des types spécifiques d'éléments d'une liste de types mixtes et effectuer des opérations sur eux. Cette technique est utile pour les tâches de nettoyage et de prétraitement des données.

Résumé

Dans ce laboratoire (lab), vous avez exploré les listes de types mixtes en Python, qui peuvent contenir des éléments de différents types de données tels que des entiers, des chaînes de caractères, des nombres à virgule flottante et des booléens. Vous avez appris à créer de telles listes, à accéder à leurs éléments en utilisant l'indexation et à modifier les éléments à l'intérieur de la liste.

Le laboratoire a démontré comment afficher l'ensemble de la liste et des éléments individuels, mettant en évidence la capacité à gérer différents types de données au sein d'une seule structure de liste. Vous avez également pratiqué la modification de la valeur d'un élément à un index spécifique, illustrant ainsi davantage la flexibilité des listes de types mixtes en Python.