ALL |
Tous |
---|---|
Python 2.5+ |
Syntaxe
all(iterable) |
Paramètres
Nom | Description |
---|---|
iterable | Ce paramètre permet d'indiquer les itérables à vérifier |
Retour
Valeur | Description |
---|---|
False | Cette valeur permet d'indiquer qu'ils ne sont pas itérable. |
True | Cette valeur permet d'indiquer qu'ils sont tous itérables. |
Description
Cette fonction permet de vérifier si tous les éléments sont itérables.
Algorithme
MODULE ALL(iterable) BOUCLE POUR CHAQUE élément dans iterable FAIRE SI élément est Faux ALORS RETOURNE Faux FIN SI FIN BOUCLE POUR CHAQUE RETOURNE Vrai |
Remarques
- Si l'itérable est vide, alors la fonction all() renvoie True.
- La fonction all() est disponible depuis Python 2.5, ce qui la rend compatible avec la majorité des projets Python modernes. Son utilisation permet d'évaluer une condition sur un ensemble d'éléments, ce qui la rend très pratique dans les boucles ou les compréhensions. Elle fait partie des fonctions intégrées de Python, donc aucun import n'est nécessaire pour l'utiliser.
- Contrairement à ce que la description suggère, all() ne vérifie pas si les éléments sont itérables, mais si tous les éléments de l'itérable sont "vrais" (c'est-à-dire évalués comme True). Si un seul élément de l'itérable est considéré comme False (comme 0, None, False, ou une chaîne vide ''), alors la fonction retourne False. Elle ne vérifie donc pas la nature "itérable" des éléments.
- Le paramètre iterable désigne tout objet sur lequel on peut itérer, comme une liste, un tuple, un dictionnaire, ou un ensemble. Il est important de noter que all() ne fonctionne qu'avec des objets itérables ; passer un objet non-itérable générera une erreur de type. Cette exigence est commune à de nombreuses fonctions de type fonctionnelle en Python.
- Le comportement de all() repose sur le principe du "court-circuit". Cela signifie qu'elle s'arrête dès qu'un élément évalué à False est trouvé dans l'itérable. Cela permet d'optimiser les performances lorsque la vérification d'un grand nombre d'éléments n'est pas nécessaire après avoir détecté un échec.
- L'utilisation typique de all() est dans des cas où l'on veut s'assurer qu'une condition est vraie pour tous les éléments d'une collection. Par exemple, all(x > 0 for x in liste) retourne True si tous les éléments de liste sont strictement positifs. Cela rend le code beaucoup plus lisible et concis que de boucler manuellement avec un for.
- Il est intéressant de noter que all([]) retourne True, ce qui peut sembler contre-intuitif. Cette décision est basée sur le concept logique du "quantificateur universel vide", c'est-à-dire que toutes les affirmations sont vraies sur un ensemble vide. C'est un comportement important à connaître pour éviter les bugs subtils.
- La fonction all() est souvent utilisée en combinaison avec des générateurs d'expressions pour une meilleure efficacité mémoire. Par exemple, all(x.isalpha() for x in liste_de_mots) évalue les éléments un par un, sans stocker la liste complète en mémoire. Cela la rend idéale pour des traitements sur de grandes quantités de données.
- Une mauvaise interprétation fréquente est de penser que all() teste si tous les éléments sont du même type ou ont une certaine propriété intrinsèque comme "être itérable". Or, ce n'est pas le cas : elle vérifie seulement leur valeur de vérité, donc il faut s'assurer que l'expression utilisée produit bien des booléens pertinents.
Dernière mise à jour : Mercredi, le 14 septembre 2016