"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment vérifier efficacement la présence d’éléments de liste dans une chaîne Python ?

Comment vérifier efficacement la présence d’éléments de liste dans une chaîne Python ?

Publié le 2024-11-08
Parcourir:295

How to Efficiently Check for List Element Presence in a Python String?

Vérification de la présence d'un élément de liste dans une chaîne en Python

Une tâche courante dans la programmation Python consiste à vérifier si une chaîne inclut un élément d'un élément donné liste. Une approche traditionnelle utilise une boucle for, comme illustré dans le code ci-dessous :

extensionsToCheck = ['.pdf', '.doc', '.xls']

for extension in extensionsToCheck:
    if extension in url_string:
        print(url_string)

Bien que fonctionnelle, cette méthode peut sembler lourde. Une approche plus succincte consiste à utiliser un générateur couplé à la fonction any(), qui évalue ses arguments jusqu'à rencontrer le premier True:

if any(ext in url_string for ext in extensionsToCheck):
    print(url_string)

Utilisation du formatage de chaîne

Alternativement, si l'ordre des éléments dans la liste est important, le formatage de chaîne peut être utilisé. Par exemple :

url_string = 'sample.doc'
extensionsToCheck = ['.pdf', '.doc', '.xls']

if f'.{url_string.split(".")[-1]}' in extensionsToCheck:
    print(url_string)

Ici, la méthode .split() sépare la chaîne URL en fonction du point et l'index [-1] sélectionne le dernier élément, représentant l'extension du fichier. La f-string formate ensuite l'extension sous la forme correcte pour la comparaison.

Remarque : L'utilisation de any() dans ce contexte vérifie uniquement si un élément de la liste est présent dans la chaîne, quelle que soit sa position. Si l'emplacement spécifique de l'élément est important, des méthodes plus précises, telles que des fonctions d'expression régulière ou de manipulation de chaînes, doivent être envisagées.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3