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
303 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!

source:php.cn
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