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 listelist1 = ['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 listeliste1 = ['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èreimportation 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 mixlistData = ['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.