Filtrer une liste de chaînes en fonction de leur contenu
Étant donné une liste de chaînes, vous devrez peut-être extraire uniquement celles qui contiennent une sous-chaîne spécifique. En Python, il existe plusieurs moyens efficaces d'effectuer cette opération de filtrage.
Utiliser les compréhensions de listes
L'une des approches les plus simples et les plus recommandées consiste à utiliser les puissantes compréhensions de listes de Python. . Les compréhensions de listes offrent un moyen concis et expressif de créer une nouvelle liste basée sur les éléments d'une liste existante. Pour votre besoin spécifique de filtrage des chaînes contenant « ab », vous pouvez utiliser la compréhension suivante :
lst = ['a', 'ab', 'abc', 'bac']
result = [k for k in lst if 'ab' in k]
Cette compréhension parcourt chaque chaîne de la liste d'origine ('a', 'ab', 'abc', 'bac') et vérifie s'il contient la sous-chaîne 'ab'. Si c'est vrai, il ajoute la chaîne à la liste résultante. Cela vous donne la liste filtrée souhaitée : ['ab', 'abc'].
Utilisation de la fonction de filtre
Une autre méthode pour filtrer les chaînes en Python consiste à utiliser la fonction de filtre. Cette fonction prend une fonction de filtre et un itérable comme arguments et renvoie un itérateur qui produit les éléments de l'itérable qui satisfont la fonction de filtre. Dans votre cas, vous pouvez utiliser le filtre comme suit :
lst = ['a', 'ab', 'abc', 'bac']
result = list(filter(lambda k: 'ab' in k, lst))
La fonction de filtre prend une fonction anonyme (fonction lambda) comme premier argument, qui vérifie si 'ab' existe dans l'entrée chaîne. Le deuxième argument est la liste originale. Le résultat du filtre est un itérateur, qui est ensuite converti en liste à l'aide de list(). Encore une fois, cela produit la liste ['ab', 'abc'] souhaitée.
Bien que les compréhensions de liste et la fonction de filtre puissent atteindre le filtrage souhaité, les compréhensions de liste sont généralement préférées pour leur concision et leur lisibilité, en particulier pour des tâches de filtrage simples comme celle-ci.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3