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

Linda Hamilton
Libérer: 2024-11-06 18:28:02
original
984 Les gens l'ont consulté

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

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

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!

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!