Maison >développement back-end >Tutoriel Python >Comment puis-je vérifier efficacement si une chaîne contient un élément d'une liste en Python ?

Comment puis-je vérifier efficacement si une chaîne contient un élément d'une liste en Python ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-04 20:06:01503parcourir

How Can I Efficiently Check if a String Contains an Element from a List in Python?

Correspondance de chaîne élégante avec un élément d'une liste en Python

En Python, il est possible de vérifier si une chaîne contient un élément d'une liste en utilisant une boucle for :

<code class="python">extensionsToCheck = ['.pdf', '.doc', '.xls']

for extension in extensionsToCheck:
    if extension in url_string:
        print(url_string)</code>

Cependant, il existe une manière plus concise d'effectuer cette tâche sans boucle for. Considérez l'approche suivante qui imite une vérification de style "C/C", mais avec la syntaxe Python correcte :

<code class="python">if any(ext in url_string for ext in extensionsToCheck):
    print(url_string)</code>

Cette solution utilise une expression génératrice pour créer une séquence de valeurs Vrai/Faux, où chaque valeur vérifie si l'extension actuelle de la liste se trouve dans la chaîne URL. La fonction any() évalue ensuite cette séquence pour déterminer si au moins une valeur True existe, indiquant que la chaîne URL contient un élément de la liste.

Contrairement à la solution précédente, cette approche met effectivement fin à la recherche plus tôt une fois une correspondance est trouvée. En employant l'expression génératrice et la fonction any(), nous obtenons à la fois concision et efficacité dans notre code.

Remarque : Il est crucial de comprendre que cette solution ne précise pas l'emplacement exact où le la chaîne correspondante est trouvée dans l'URL. Si la position du match est importante, considérez la solution proposée par @Wladimir Palant, qui prend en compte des positions de cordes spécifiques.

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:
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