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!