Filtrage de chaînes avec un contenu spécifique
Dans cette question de programmation, nous cherchons une solution pour filtrer une liste de chaînes en fonction de leur contenu. Étant donné une liste telle que ['a', 'ab', 'abc', 'bac'], notre objectif est d'extraire une liste qui contient uniquement des chaînes avec une sous-chaîne spécifique, telle que 'ab'.
Implémentation Python
Pour réaliser ce filtrage en Python, nous pouvons utiliser différentes méthodes. Une approche efficace implique l'utilisation de compréhensions de liste :
<code class="python">lst = ['a', 'ab', 'abc', 'bac'] result = [k for k in lst if 'ab' in k] # Result: ['ab', 'abc']</code>
Dans ce code, nous parcourons la liste d'origine en utilisant une compréhension et vérifions si chaque chaîne contient la sous-chaîne « ab » à l'aide de l'opérateur « in ». Seules les chaînes qui satisfont à cette condition sont incluses dans la liste des résultats.
Une autre option consiste à exploiter la fonction de filtre :
Python 2 :
<code class="python">from itertools import ifilter lst = ['a', 'ab', 'abc', 'bac'] result = ifilter(lambda k: 'ab' in k, lst) # Result: ['ab', 'abc']</code>
Python 3 :
<code class="python">lst = ['a', 'ab', 'abc', 'bac'] result = list(filter(lambda k: 'ab' in k, lst)) # Result: ['ab', 'abc']</code>
Dans Python 3, le filtre renvoie un itérateur. Pour obtenir une liste, nous la castons explicitement à l’aide de la fonction list(). Bien que la fonction de filtrage offre un autre moyen d'effectuer le filtrage, les compréhensions de listes sont généralement considérées comme plus concises et efficaces pour ce type d'opération.
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!