Maison >développement back-end >Tutoriel Python >Comment puis-je vérifier efficacement la présence et la récupération de sous-chaînes dans une liste de chaînes Python ?
Vérification de la présence d'une sous-chaîne dans une liste de chaînes
Visant à identifier les occurrences d'une sous-chaîne dans une liste de chaînes, nous rencontrons une limitation où la simple vérification des sous-chaînes échoue. Comme le montre l'exemple fourni, la recherche de « abc » dans la liste :
xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456']
l'utilisation de l'expression « abc » dans xs ne parvient pas à capturer des éléments tels que « abc-123 » et « abc-456 » qui contenir la sous-chaîne 'abc'.
Solution : exploiter la liste Compréhension
Pour surmonter cet obstacle, la compréhension de liste offre une solution puissante. En utilisant la fonction any, on peut déterminer rapidement la présence d'une sous-chaîne dans n'importe quel élément de la liste. L'extrait de code suivant accomplit efficacement cela :
if any("abc" in s for s in xs): # Perform desired actions
Dans ce cas, la clause for parcourt chaque chaîne s de la liste xs, vérifiant si « abc » est présent en tant que sous-chaîne. Si une chaîne remplit cette condition, la fonction any renvoie True.
Récupération de toutes les sous-chaînes correspondantes
Si l'objectif est d'extraire toutes les chaînes contenant la sous-chaîne spécifiée, compréhension de la liste fournit encore une fois une solution pratique. L'extrait de code suivant remplit cette exigence :
matching = [s for s in xs if "abc" in s]
Ici, la clause for sélectionne chaque chaîne qui renvoie True pour la présence de « abc » et la stocke dans la liste correspondante. Cette approche rassemble efficacement tous les éléments souhaités dans une nouvelle liste.
En exploitant les capacités de compréhension de liste, nous relevons efficacement le défi de l'identification des occurrences de sous-chaînes dans une liste de chaînes, permettant des recherches de sous-chaînes plus complètes et plus précises.
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!