La fonction all() est une fonction built-in (intégrée) de Python. Elle prend un itérable en argument. Elle retourne True si tous les éléments sont évalués comme vrais ou si l'itérable est vide.
# Tous les éléments sont True valeurs_1 = [True, True, True] print(all(valeurs_1)) # Résultat : True # Contient au moins un élément False valeurs_2 = [True, False, True] print(all(valeurs_2)) # Résultat : False # L'itérable est vide (cas particulier) valeurs_3 = [] print(all(valeurs_3)) # Résultat : True
Utilisation plus complexe
L'évaluation truthy (vraie)
all() utilise la valeur de vérité des objets Python. Par exemple :
-
Les nombres non nuls, les chaînes non vides et les collections non vides sont
True -
Le nombre
0,None, les chaînes vides et les collections vides sontFalse
Grâce à cela, all() permet d'analyser des données de manière très efficace :
# Vérifier que tous les nombres d'une liste sont non nuls nombres_valides = [10, -5, 100] print(all(nombres_valides)) # Résultat : True nombres_invalides = [10, 0, 100] print(all(nombres_invalides)) # Résultat : False # Vérifier que toutes les permissions sont actives dans un dictionnaire permissions_actives = {'lecture': True, 'ecriture': True} print(all(permissions_actives.values())) # Résultat : True permissions_incompletes = {'lecture': True, 'ecriture': False} print(all(permissions_incompletes.values())) # Résultat : False
Utilisation d'une expression génératrice
Combiner all() avec une expression génératrice est idéal pour vérifier qu'une condition est respectée pour tous les éléments d'une collection :
# Vérifier si tous les mots d'une liste commencent par une majuscule mots = ["Python", "Est", "Puissant"] tous_commencent_par_majuscule = all(mot[0].isupper() for mot in mots) print(tous_commencent_par_majuscule) # Résultat : True # Vérifier si tous les nombres sont pairs nombres = [2, 4, 6, 8, 9, 10] tous_pairs = all(num % 2 == 0 for num in nombres) print(tous_pairs) # Résultat : False (à cause de 9)
À noter
On peut voir la fonction all() comme la fonction sœur de any(), sauf que cette dernière retourne True si au moins un des éléments sont vrais.