Trouver une chaîne de caractères dans une liste en Python
-
Utilisez la boucle
for
pour trouver les éléments d’une liste qui contiennent une sous-chaîne spécifique en Python -
Utilisez la fonction
filter()
pour trouver les éléments d’une liste Python qui contiennent une sous-chaîne spécifique - Utiliser les expressions régulières pour trouver les éléments d’une liste Python qui contiennent une sous-chaîne spécifique
Ce tutoriel présente la manière de trouver les éléments d’une liste Python qui contiennent une sous-chaîne spécifique.
Nous allons travailler avec la liste suivante et extraire les chaînes qui contiennent un ack
.
my_list = ["Jack", "Mack", "Jay", "Mark"]
Utilisez la boucle for
pour trouver les éléments d’une liste qui contiennent une sous-chaîne spécifique en Python
Dans cette méthode, nous parcourons la liste et vérifions si la sous-chaîne est présente dans un élément particulier ou non. Si la sous-chaîne est présente dans l’élément, alors nous la stockons dans la chaîne. Le code suivant montre comment :
str_match = [s for s in my_list if "ack" in s]
print(str_match)
Production :
['Jack', 'Mack']
Le mot-clé in
vérifie si la chaîne donnée, "ack"
dans cet exemple, est présente dans la chaîne ou non. Il peut également être remplacé par la méthode __contains__
, qui est une méthode magique de la classe de la chaîne de caractères. Par exemple :
str_match = [s for s in my_list if s.__contains__("ack")]
print(str_match)
Production :
['Jack', 'Mack']
Utilisez la fonction filter()
pour trouver les éléments d’une liste Python qui contiennent une sous-chaîne spécifique
La fonction filter()
récupère un sous-ensemble de données d’un objet donné à l’aide d’une fonction. Cette méthode utilisera le mot-clé lambda
pour définir la condition de filtrage des données. Le mot-clé lambda
crée une fonction lambda
d’une ligne en Python. Voir l’extrait de code suivant.
str_match = list(filter(lambda x: "ack" in x, my_list))
print(str_match)
Production :
['Jack', 'Mack']
Utiliser les expressions régulières pour trouver les éléments d’une liste Python qui contiennent une sous-chaîne spécifique
Une expression régulière est une séquence de caractères qui peut servir de modèle de correspondance pour rechercher des éléments. Pour utiliser des expressions régulières, nous devons importer le module re
. Dans cette méthode, nous utiliserons la boucle for
et la méthode re.search()
, qui est utilisée pour retourner un élément qui correspond à un modèle spécifique. Le code suivant explique comment :
import re
pattern = re.compile(r"ack")
str_match = [x for x in my_list if re.search("ack", x)]
print(str_match)
Production :
['Jack', 'Mack']
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedInArticle connexe - Python List
- Convertir un dictionnaire en liste en Python
- Supprimer toutes les occurrences d'un élément d'une liste en Python
- Supprimer les doublons de la liste en Python
- Comment obtenir la moyenne d'une liste en Python
- Quelle est la différence entre les méthodes de liste append et extend
- Comment convertir une liste en chaîne de caractères en Python