Maison  >  Article  >  développement back-end  >  Comment filtrer une liste de chaînes contenant une sous-chaîne spécifique en Python ?

Comment filtrer une liste de chaînes contenant une sous-chaîne spécifique en Python ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-20 06:14:29477parcourir

How to Filter a List of Strings Containing a Specific Substring in Python?

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.

Utilisation des compréhensions de liste

L'une des approches les plus simples et les plus recommandées consiste à utiliser les puissantes compréhensions de liste 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 :

<code class="python">lst = ['a', 'ab', 'abc', 'bac']
result = [k for k in lst if 'ab' in k]</code>

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 :

<code class="python">lst = ['a', 'ab', 'abc', 'bac']
result = list(filter(lambda k: 'ab' in k, lst))</code>

La fonction de filtre prend une fonction anonyme (fonction lambda) comme premier argument, qui vérifie si 'ab' existe dans la chaîne d'entrée. 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.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn