Geekflare est soutenu par son public. Nous pouvons percevoir des commissions d'affiliation sur les liens d'achat présents sur ce site.
En Développement Dernière mise à jour : 25 septembre 2023
Partager sur :
Invicti Web Application Security Scanner - la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

En Python, l'une des façons les plus populaires de stocker des données séquentielles ou ordonnées est d'utiliser des listes. En Python, une liste est une structure de données ordonnée, mutable et intégrée, utilisée pour stocker une collection de données. Les éléments stockés dans une liste sont indexés à partir de zéro et les utilisateurs peuvent modifier le contenu d'une liste après sa création.

Le fait que les éléments d'une liste soient indexés permet de stocker des éléments en double dans une liste. Les listes en Python peuvent également contenir des éléments de différents types de données. Les éléments d'une liste sont séparés par des virgules et placés entre crochets.

liste de contrôle-3693113

Voici des exemples de listes en Python :

# Une liste contenant un type de données - Chaîne
colors = ['Red', 'Orange', 'Yellow', 'Green', 'Blue', 'Indigo', 'Violet']

# Une liste contenant plusieurs types de données
movies = ['Transformers', 2012, 'Avengers', 300]

# Une liste avec des valeurs en double
users = ['John', 'Mary', 'Elizabeth', 'John']

Les listes sont une structure de données très polyvalente, et vous pouvez effectuer de nombreuses opérations sur les données stockées dans les listes. L'une de ces opérations courantes et utiles consiste à filtrer les données stockées dans la liste.

Pourquoi le filtrage des listes est-il important ?

Filtrer une liste signifie extraire des sous-ensembles spécifiques de données répondant à un critère donné. Par exemple, il se peut que seuls les nombres pairs nous intéressent dans une liste contenant les nombres de 1 à 10. Pour extraire ces données de la liste, il suffit de filtrer la liste pour obtenir les nombres qui sont exactement divisibles par deux.

Pourquoi le filtrage des listes est-il important ?

Le filtrage est particulièrement utile dans la manipulation et l'analyse des données, car il permet de supprimer les éléments indésirables des listes, de créer de nouvelles listes contenant des éléments répondant à des critères donnés et d'extraire des données répondant à certaines conditions.

Voici quelques applications concrètes du filtrage des listes :

  • Validation des données - Lorsque vous travaillez avec une liste, il se peut que vous souhaitiez utiliser uniquement les données qui répondent à un critère donné. Par exemple, dans une liste d'utilisateurs, vous pouvez être intéressé par les utilisateurs ayant à la fois un nom et un prénom. Le filtrage peut vous permettre de vérifier et de valider les données de la liste avant de les traiter. Vous évitez ainsi de travailler avec des données qui ne répondent pas à vos exigences.
  • Nettoyage des données - Les listes pouvant stocker divers types de données, il n'est pas rare qu'elles contiennent des données indésirables qui ne vous intéressent pas. Par exemple, dans une liste contenant des noms, les valeurs numériques peuvent ne pas vous intéresser. Grâce au filtrage, vous pouvez supprimer les données indésirables.
  • Analyse des données - Le filtrage des données est particulièrement utile dans l'analyse des données car il vous permet de vous concentrer sur des sous-ensembles spécifiques de données, ce qui vous permet d'identifier facilement des modèles et des tendances. Par exemple, dans une liste d'étudiants, vous pouvez filtrer les étudiants et les étudiantes et utiliser le résultat dans l'analyse des données. Vous pouvez même filtrer en fonction de l'âge, du lieu et de l'année d'études. Cela vous permet de tirer des conclusions plus utiles à partir de sous-ensembles spécifiques de données dans une liste

Le filtrage des listes est une fonction très utile, car il vous permet de contrôler les données stockées dans une liste et de ne travailler qu'avec les données qui vous intéressent.

Le ciblage de sous-ensembles spécifiques de données stockées dans une liste est très utile car il rationalise le traitement et l'analyse des données, ce qui rend les processus meilleurs, plus rapides et plus précis.

Utilisation de la fonction filter()

La fonction filtre() est une fonction Python intégrée qui peut être utilisée pour parcourir un itérable tel qu'une liste, des tuples, un ensemble ou un dictionnaire et extraire les éléments de l'itérable qui satisfont une condition donnée.

En Python, un itérable est un objet dont les éléments peuvent être parcourus en boucle, un par un. L'itération à travers un itérable renvoie les éléments de l'itérable un par un.

La syntaxe de la fonction filter est la suivante :

filter(function, iterable)

fonction - une fonction Python qui contient la condition de filtrage

itérablel'itérable qui va être filtré. Dans ce cas, nous utiliserons une liste.

La fonction filtre() prend la fonction passée et l'applique à chaque élément de l'itérable passé, en testant la condition de filtrage par rapport à l'élément. Si l'élément remplit la condition, c'est-à-dire s'il renvoie le booléen true, il sera sélectionné par la fonction filtre() . Dans le cas contraire, l'élément n'est pas sélectionné.

La fonction filtre() renvoie un tableau itératif contenant les éléments qui satisfont à la condition de filtrage. Vous pouvez créer une nouvelle liste contenant les éléments qui satisfont à la condition de filtrage en utilisant la fonction liste() .

Pour voir la fonction filtre() en action, examinez la liste ci-dessous, qui est filtrée pour sélectionner les nombres inférieurs à 50 :

#Une liste de nombres
nombres = [79, 15, 92, 53, 46, 24, 81, 77, 37, 61]

# fonction contenant la condition de filtrage
def is_even(num) :
 if num < 50 :
 return True
 else :
     return False

# la fonction list() est utilisée pour créer une liste à partir de l'itérable
# retourné par la fonction filter()
filtered_numbers = list(filter(is_even, numbers))
print(filtered_numbers)

Le code ci-dessus affiche le résultat suivant :

[15, 46, 24, 37]

Utilisation d'une boucle pour

En Python, une boucle for est une instruction de flux de contrôle utilisée pour itérer sur des structures de données séquentielles telles qu'une liste, des tuples, des chaînes,/ et des tableaux. Une boucle for exécute de manière répétée un bloc de code pour chaque élément d'une séquence.

La syntaxe générale d'une boucle for est la suivante :

for item in iterable :
   # Bloc de code à exécuter pour chaque élément de l'itérable

article - une variable représentant l'élément en cours de traitement dans une itération de la boucle

itérable - la séquence sur laquelle la boucle for itère. Dans ce cas, une liste

Pour filtrer une liste à l'aide d'une boucle for, nous devons indiquer notre condition de filtrage dans la section du bloc de code à exécuter. De cette manière, chaque élément sera évalué pour voir s'il satisfait à une condition donnée.

Lorsque vous utilisez une boucle for pour filtrer une liste, vous devez également créer une liste vide dans laquelle vous ajouterez les valeurs qui satisfont à votre condition de filtrage.

Pour voir cela en action, filtrons une liste de nombres pour obtenir les nombres inférieurs à 50 à l'aide d'une boucle for :

nombres = [79, 15, 92, 53, 46, 24, 81, 77, 37, 61]

nombres_filtrés = []

for num in numbers :
 if num < 50 :
 # append() utilisé pour ajouter un nombre qui passe la condition
 # dans nombres_filtrés.
 nombres_filtrés.append(num)

print(nombres_filtrés)

Le code ci-dessus affiche le résultat suivant :

[15, 46, 24, 37]

Utilisation d'une autre liste

Vous pouvez filtrer une liste à l'aide d'une autre liste en vérifiant si un élément de la liste que vous souhaitez filtrer apparaît dans une autre liste. Par exemple, considérez les deux listes suivantes

lettres = ['a', 'h', 'q', 'd', 's', 'x', 'g', 'j', 'e', 'o', 'k', 'f', 'c', 'b', 'n']

voyelles = ['a', 'e', 'i', 'o', 'u']

Dans la liste de lettres ci-dessus, nous pouvons déterminer quels éléments de la liste ne sont pas des voyelles en vérifiant si l'élément apparaît ou non dans la liste des voyelles . Si un élément n'apparaît pas dans la liste des voyelles, il ne s'agit pas d'une voyelle.

De cette manière, nous pouvons obtenir tous les caractères des lettres qui ne sont pas des voyelles. Pour ce faire, exécutez le code suivant :

letters = ['a', 'h', 'q', 'd', 's', 'x', 'g', 'j', 'e', 'o', 'k', 'f', 'c', 'b', 'n']
vowels = ['a', 'e', 'i', 'o', 'u']

not_vowel = []

for letter in letters :
 if letter not in vowels :
 not_vowel.append(letter)
print(not_vowel)

Le code ci-dessus affiche la sortie suivante, qui contient des caractères dans des lettres qui ne sont pas des voyelles.

['h', 'q', 'd', 's', 'x', 'g', 'j', 'k', 'f', 'c', 'b', 'n']

Utilisation de la compréhension de liste

En Python, la compréhension de liste offre une syntaxe plus courte, plus concise et plus propre pour créer une nouvelle liste à partir d'une liste existante. La compréhension de liste permet de réduire à une seule ligne les nombreuses lignes de code utilisées pour créer une nouvelle liste à partir d'une autre liste à l'aide d'une boucle pour.

En effet, lorsque vous utilisez la compréhension de liste, vous définissez et ajoutez des éléments à la nouvelle liste sur une seule ligne.

La syntaxe de la compréhension de liste est la suivante :

new_list = [expression for element in iterable if condition]

nouvelle_liste - une nouvelle liste contenant les éléments ajoutés par la compréhension de liste

expression - une opération qui sera appliquée à chaque élément de l'itérable

article - nom de la variable représentant l'élément actuellement actif dans l'itérable

itérable un itérable dans lequel les éléments seront sélectionnés.

si condition - partie facultative dans laquelle une condition peut être ajoutée pour filtrer les éléments et n'ajouter à la nouvelle liste créée que ceux qui satisfont à une condition donnée.

Pour voir la compréhension des listes en action et constater à quel point elle peut simplifier le processus de filtrage et de création d'une nouvelle liste, nous allons utiliser la liste des lettres et des voyelles pour filtrer les éléments de la liste des lettres qui ne se trouvent pas dans la liste des voyelles. Pour ce faire, exécutez le code suivant :

letters = ['a', 'h', 'q', 'd', 's', 'x', 'g', 'j', 'e', 'o', 'k', 'f', 'c', 'b', 'n']
vowels = ['a', 'e', 'i', 'o', 'u']

# compréhension de la liste
not_vowel = [letter for letter in letters if letter not in vowels]
print(not_vowel)

La sortie du code ci-dessus est illustrée ci-dessous :

['h', 'q', 'd', 's', 'x', 'g', 'j', 'k', 'f', 'c', 'b', 'n']

Le résultat est similaire à celui de l'exemple précédent, qui utilisait une boucle pour filtrer une liste à l'aide d'une autre liste. Cependant, il utilise moins de lignes de code pour obtenir le même résultat.

Conclusion

Lorsque vous travaillez avec des données en Python, une opération courante que vous êtes amené à effectuer est le filtrage de données à partir d'un itérable tel qu'une liste. Il s'agit d'une étape très utile dans l'analyse et le traitement des données, car elle vous permet de ne travailler qu'avec des données pertinentes pour l'opération ou le traitement en cours.

La liste est une structure de données séquentielle très populaire en Python. Si vous travaillez avec une liste et que vous devez la filtrer, envisagez d'utiliser l'une des méthodes décrites dans l'article.

Vous pouvez également lire des exemples sur l'utilisation des fonctions lambda en Python.

  • Collins Kariuki
    Auteur
    Collins Kariuki est développeur de logiciels et rédacteur technique pour Geekflare. Il a plus de quatre ans d'expérience dans le développement de logiciels, une formation en informatique et a également écrit pour Argot, Daily Nation et le Business Daily Newspaper.
Merci à nos sponsors
D'autres lectures intéressantes sur le développement
Alimentez votre entreprise
Quelques outils et services pour aider votre entreprise à se développer.
  • Invicti utilise le Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, search engine crawler, et tout ce dont vous avez besoin pour collecter des données web.
    Essayez Brightdata
  • Monday.com est un système d'exploitation tout-en-un qui vous aide à gérer vos projets, vos tâches, votre travail, vos ventes, votre CRM, vos opérations, vos flux de travail et bien plus encore.
    Essayez le lundi
  • Intruder est un scanner de vulnérabilité en ligne qui détecte les faiblesses de votre infrastructure en matière de cybersécurité, afin d'éviter des violations de données coûteuses.
    Essayer l'intrus