Maison  >  Article  >  développement back-end  >  Comment filtrer les chaînes dans une liste basée sur les sous-chaînes ?

Comment filtrer les chaînes dans une liste basée sur les sous-chaînes ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-20 06:13:29270parcourir

How to Filter Strings in a List Based on Substrings?

Filtrage des chaînes dans une liste basée sur des sous-chaînes

Étant donné une liste de chaînes, comment pouvons-nous la filtrer pour inclure uniquement celles qui contiennent un sous-chaîne spécifique ? Par exemple, si nous avons la liste ['a', 'ab', 'abc', 'bac'], nous voudrions obtenir la liste ['ab', 'abc'].

Solution utilisant la compréhension de liste

Une méthode efficace consiste à utiliser les compréhensions de liste de Python :

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

La compréhension de liste parcourt chaque chaîne k dans lst et vérifie si la sous-chaîne 'ab ' existe en lui. Si vrai, k est ajouté à la liste des résultats.

Approche alternative utilisant un filtre

Alternativement, nous pouvons utiliser la fonction de filtre pour obtenir le même résultat :

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

Ici, la fonction de filtre prend une fonction lambda qui vérifie la présence de 'ab' dans chaque chaîne. L'itérateur résultant est ensuite converti en liste à l'aide de list.

Conclusion

Les compréhensions de liste et la fonction de filtrage offrent des moyens efficaces pour filtrer une liste de chaînes en fonction de critères spécifiques. contenu. Le choix entre les deux méthodes dépend des préférences personnelles et de la lisibilité du code.

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