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