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

Comment vérifier efficacement si une chaîne contient un élément d’une liste en Python ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-06 18:28:02986parcourir

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

Vérification de l'existence d'éléments de chaîne dans une liste en Python

Cette question recherche une méthode élégante pour déterminer si une chaîne contient un élément d'un élément spécifié list sans utiliser de boucle for. Le code suivant illustre le problème :

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

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

La tentative de l'utilisateur d'utiliser un opérateur logique OR, comme dans C/C , n'a pas réussi à fournir le résultat souhaité.

Solution élégante Utiliser des générateurs et Any

Une solution plus sophistiquée exploite un générateur et la fonction any, qui est évaluée à True dès qu'un élément de la liste est trouvé dans la chaîne :

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

Dans ce code, une expression génératrice produit une série de valeurs booléennes indiquant si chaque élément de extensionsToCheck existe dans url_string. La fonction any renvoie alors True si l'une de ces valeurs booléennes est True.

Attention lors de la vérification de la position finale

Il est important de noter que cette solution ne prend pas en compte la position de la chaîne correspondante dans url_string. Par exemple, si la liste contenait .com et que la chaîne examinée était exemple.company.com, la solution renverrait True même si .com apparaît au milieu de la chaîne.

Si l'emplacement précis du la chaîne correspondante est un problème, comme c'est souvent le cas avec les URL, envisagez d'utiliser la solution fournie par @Wladimir Palant, qui consiste à examiner les extensions de fichiers dans le contexte des URL.

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