Python

Comment filtrer une liste de chaînes en Python

Comment filtrer une liste de chaînes en Python
Python utilise le type de données de liste pour stocker plusieurs données dans un index séquentiel. Il fonctionne comme un tableau numérique d'autres langages de programmation. La méthode filter() est une méthode très utile de Python. Une ou plusieurs valeurs de données peuvent être filtrées à partir de n'importe quelle chaîne, liste ou dictionnaire en Python en utilisant la méthode filter().  Il filtre les données en fonction de toute condition particulière. Il stocke les données lorsque la condition renvoie true et rejette les données lorsque renvoie false. Comment les données de chaîne dans une liste peuvent être filtrées en Python est montré dans cet article en utilisant différents exemples. Vous devez utiliser Python 3+ pour tester les exemples de cet article.

Filtrer une liste de chaînes à l'aide d'une autre liste

Cet exemple montre comment les données d'une liste de chaînes peuvent être filtrées sans utiliser aucune méthode. La liste de la chaîne est filtrée ici en utilisant une autre liste. Ici, deux variables de liste sont déclarées avec le nom liste1 et liste2. Les valeurs de liste2 est filtré en utilisant les valeurs de liste1. Le script correspondra au premier mot de chaque valeur de liste2 avec les valeurs de liste1 et imprimez les valeurs qui n'existent pas dans liste1.

# Déclarez deux variables de liste
list1 = ['Perl', 'PHP', 'Java', 'ASP']
list2 = ['JavaScript est un langage de script côté client',
'PHP est un langage de script côté serveur',
« Java est un langage de programmation »,
'Bash est un langage de script']
 
# Filtrer la deuxième liste en fonction de la première liste
filter_data = [x pour x dans list2 si
all(y not in x for y in list1)]
 
# Imprimer les données de la liste avant le filtre et après le filtre
print("Le contenu de la première liste :", liste1)
print("Le contenu de la seconde liste :", liste2)
print("Le contenu de la deuxième liste après filter :", filter_data)

Production:

Exécutez le script. Ici, liste1 ne contient pas le mot 'Frapper'. La sortie contiendra une seule valeur de liste2 C'est 'Bash est un langage de script'.

Filtrer une liste de chaînes à l'aide d'une autre liste et fonction personnalisée

Cet exemple montre comment une liste de chaînes peut être filtrée en utilisant une autre liste et la fonction de filtre personnalisé. Le script contient deux variables de liste nommées list1 et list2. La fonction de filtre personnalisé découvrira les valeurs communes des deux variables de liste.

# Déclarez deux variables de liste
liste1 = ['90', '67', '34', '55', '12', '87', '32']
liste2 = ['9', '90', '38', '45', '12', '20']
 
# Déclarez une fonction pour filtrer les données de la première liste
def Filtre(list1, liste2) :
renvoie [n pour n dans la liste1 si
tout(m dans n pour m dans liste2)]
 
# Imprimer les données de la liste avant le filtre et après le filtre
print("Le contenu de list1 :", list1)
print("Le contenu de list2 :", list2)
print("Les données après filtre",Filtre(list1, liste2))

Production:

Exécutez le script. 90 et 12 valeurs existent dans les deux variables de liste. La sortie suivante sera générée après l'exécution du script.

Filtrer une liste de chaînes à l'aide d'une expression régulière

La liste est filtrée en utilisant tout() et quelconque() méthodes dans les deux exemples précédents. Une expression régulière est utilisée dans cet exemple pour filtrer les données d'une liste. Une expression régulière est un modèle par lequel toutes les données peuvent être recherchées ou mises en correspondance. 'ré' module est utilisé en python pour appliquer une expression régulière dans le script. Ici, une liste est déclarée avec des codes de sujet. Une expression régulière est utilisée pour filtrer les codes de sujet commençant par le mot 'CSE'. '^Le symbole ' est utilisé dans les modèles d'expressions régulières pour rechercher au début du texte.

# Importer le module pour utiliser l'expression régulière
importation re
 
# Déclarez que la liste contient le code sujet
sous-liste = ['CSE-407', 'PHY-101', 'CSE-101', 'ENG-102', 'MAT-202']
# Déclarez la fonction de filtrage
def Filtre (liste de données) :
# Recherche de données basée sur une expression régulière dans la liste
return [val pour val dans la liste de données
si re.recherche(r'^CSE', val)]
# Imprimer les données du filtre
print(Filtre(sous-liste))

Production:

Exécutez le script. sous-liste variable contient deux valeurs qui commencent par 'CSE'. La sortie suivante apparaîtra après l'exécution du script.

Filtrer une liste de chaînes à l'aide de l'expression lamda

Cet exemple montre l'utilisation de lamda expression pour filtrer les données d'une liste de chaînes. Ici, une variable de liste nommée mot_recherche est utilisé pour filtrer le contenu d'une variable de texte nommée texte. Le contenu du texte est converti en une liste nommée, text_word basé sur l'espace en utilisant diviser() méthode. lamda l'expression omettra ces valeurs du text_word qui existent dans mot_recherche et stocker les valeurs filtrées dans une variable en ajoutant de l'espace.

# Déclarez une liste qui contient le mot recherché
search_word = ["Enseigner", "Code", "Programmation", "Blog"]
# Définir le texte où le mot de la liste sera recherché
text = "Apprendre la programmation Python à partir du blog Linux Hint"
# Divisez le texte en fonction de l'espace et stockez les mots dans une liste
text_word = texte.diviser()
# En utilisant l'expression lambda filtrer les données
filter_text = ".join((filter(lambda val: val not i
n mot_recherche, mot_texte)))
# Imprimer le texte avant filtrage et après filtrage
print("\nTexte avant filtrage :\n", texte)
print("Texte après filtrage :\n", filter_text)

Production:

Exécutez le script. La sortie suivante apparaîtra après l'exécution du script.

Filtrer une liste de chaînes à l'aide de la méthode filter()

filtre() la méthode accepte deux paramètres. Le premier paramètre prend un nom de fonction ou Rien et le deuxième paramètre prend le nom de la variable de liste comme valeurs. filtre() la méthode stocke ces données de la liste si elle renvoie true, sinon, elle supprime les données. Ici, Rien est donnée comme première valeur de paramètre. Toutes les valeurs sans faux seront extraits de la liste en tant que données filtrées.

# Déclarer une liste de données de mix
listData = ['Bonjour', 200, 1, 'Monde', Faux, Vrai, '0']
 
# Appeler la méthode filter() avec None et une liste
filteredData = filter(Aucun, listData)
 
# Imprimer la liste après filtrage des données
print('La liste après filtrage :')
pour val dans filteredData :
imprimer(val)

Production:

Exécutez le script. La liste ne contient qu'une seule fausse valeur qui sera omise dans les données filtrées. La sortie suivante apparaîtra après l'exécution du script.

Conclusion:

Le filtrage est utile lorsque vous devez rechercher et récupérer des valeurs particulières dans une liste. J'espère que les exemples ci-dessus aideront les lecteurs à comprendre les moyens de filtrer les données à partir d'une liste de chaînes.

Comment booster les FPS sous Linux?
FPS signifie Images par seconde. La tâche du FPS est de mesurer la fréquence d'images dans les lectures vidéo ou les performances de jeu. En termes si...
Meilleurs jeux de laboratoire d'applications Oculus
Si vous êtes propriétaire d'un casque Oculus, vous devez être au courant du chargement latéral. Le chargement latéral est le processus d'installation ...
Top 10 des jeux à jouer sur Ubuntu
La plate-forme Windows a été l'une des plates-formes dominantes pour les jeux en raison du pourcentage énorme de jeux qui se développent aujourd'hui p...