Maison > développement back-end > Tutoriel Python > Comment puis-je rechercher efficacement des sous-chaînes dans une liste de chaînes ?

Comment puis-je rechercher efficacement des sous-chaînes dans une liste de chaînes ?

Linda Hamilton
Libérer: 2024-12-17 07:04:25
original
406 Les gens l'ont consulté

How Can I Efficiently Find Substrings Within a List of Strings?

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
Copier après la connexion

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']
Copier après la connexion

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal