Résolue

Résultat de la fonction any avec des extensions

# Boucles # Fonctions # Python

Quel est le résultat de cette utilisation de la fonction any :

extensions = ['.py', '.txt', '.jpg', '.txt', '.docx']
resultat = any('py' in ext for ext in extensions)
print(resultat)

J'ai indiqué False car any renvoie True si au moins une occurence est True.
Je pensais à un piège car on cherche 'py' et le texte dans extension est '.py'.
Faut-il comprendre que le script va parcourir les éléments et comprendre que dans '.py', il y a 'py' ?

Thibault houdon

Mentor

Salut Bertrand,

En effet c'est le but de cette façon de faire avec any. Si tu cherches une équivalence précise, tu peux juste utiliser l'opérateur in :

'.py' in ['.py', '.txt', '.jpg', '.txt', '.docx']  # Renvoie True

Mais quand tu veux vérifier un équivalence partielle (comme ici), alors on peut utiliser cette façon de faire avec any. On parcours chaque extension et on vérifie si la chaîne qu'on recherche est contenue dans chaque chaîne parcourue. Si on a au moins 1 True, alors any retourne True.

Je te donne un autre exemple très concret que j'ai fait aujourd'hui justement.

J'ai une liste de mails que je ne souhaite pas récupérer avec mon script. Mais les sujets des mails ne sont pas tout le temps exacts.

J'ai donc cette liste :

addresses_to_exclude = [
    "[email protected]",
    "[email protected]",
]

Mais parfois l'expéditeur du message n'est pas juste "[email protected]" mais Google Meet <[email protected]>.

Je ne peux donc pas vérifier une équivalence exacte.

J'ai donc utilisé any de la même façon :

# Exemple simplifié
addresses_to_exclude = [
    "[email protected]",
    "[email protected]",
]

def check_email():
    from_email = "Google Meet <[email protected]>"
    if any(email in from_email for email in addresses_to_exclude):
        return False
    return True

J'espère que c'est plus clair :)
Thibault./[email protected]/[email protected]

Inscris-toi

(c'est gratuit !)

Inscris-toi

Tu dois créer un compte pour participer aux discussions.

Créer un compte

Rechercher sur le site

Formulaire de contact

Inscris-toi à Docstring

Pour commencer ton apprentissage.

Tu as déjà un compte ? Connecte-toi.