Recherche de sous-chaînes dans les listes
Étant donné une liste de chaînes, nous devrons peut-être vérifier si une chaîne spécifique apparaît dans l'un de ses éléments. Contrairement à l'approche courante consistant à rechercher une correspondance exacte, nous souhaitons identifier les chaînes qui contiennent la chaîne cible en tant que sous-chaîne.
Par exemple, considérons la liste xs = ['abc-123', 'def-456 ', 'ghi-789', 'abc-456']. Vérifier les correspondances exactes de 'abc' en utilisant if 'abc' dans xs détectera uniquement son occurrence exacte et manquera les sous-chaînes comme 'abc-123' et 'abc-456'.
Pour trouver des sous-chaînes, nous pouvons utiliser l'opérateur in en combinaison avec une compréhension de liste. Le code ci-dessous vérifie la présence de 'abc' comme sous-chaîne dans n'importe quel élément de la liste :
xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456'] if any("abc" in s for s in xs): # 'abc' is present as a substring in at least one element
Alternativement, si nous voulons récupérer tous les éléments qui incluent 'abc', nous pouvons modifier la liste compréhension comme suit :
xs = ['abc-123', 'def-456', 'ghi-789', 'abc-456'] matching = [s for s in xs if "abc" in s] print(matching) # ['abc-123', 'abc-456']
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!