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!