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

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

Patricia Arquette
Patricia Arquetteoriginal
2024-10-20 06:19:02238parcourir

How to Filter Strings Containing a Specific Substring in Python?

Filtrage des chaînes contenant un contenu spécifique

Le filtrage d'une liste de chaînes en fonction du contenu est une tâche courante en programmation. Dans ce cas, nous souhaitons extraire toutes les chaînes d’une liste contenant la sous-chaîne « ab ». Ceci peut être réalisé de différentes manières en Python.

Compréhensions de liste

L'approche la plus efficace consiste à utiliser des compréhensions de liste, qui combinent l'itération de liste et le filtrage conditionnel dans une seule expression. . Voici comment procéder :

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

Sortie :

['ab', 'abc']

Fonction de filtre

Une autre option est pour utiliser la fonction de filtrage, qui parcourt une liste et applique un critère de filtrage spécifié par une fonction lambda. Dans Python 2, vous pouvez l'utiliser comme suit :

<code class="python">ab_strings = filter(lambda k: 'ab' in k, lst)</code>

Dans Python 3, le filtre renvoie un itérateur au lieu d'une liste, vous pouvez donc soit le parcourir directement, soit le convertir en liste :

<code class="python"># Option A: Iterate over the iterable
for k in ab_strings:
    print(k)

# Option B: Cast to a list
ab_strings = list(ab_strings)
print(ab_strings)</code>

Conclusion

Les compréhensions de liste et la fonction de filtre offrent des moyens efficaces de filtrer une liste de chaînes en fonction d'un contenu spécifique. Cependant, les compréhensions de listes sont généralement préférées pour leur syntaxe concise et lisible.

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