ANY |
N'importe quel |
---|---|
Python 2.5+ |
Syntaxe
any(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 que l'itérable est vide. |
True | Cette valeur permet d'indiquer qu'il y a au moins un itérable. |
Description
Cette fonction permet de vérifier si n'importe quel élément est itérable.
Algorithme
MODULE ANY(iterable) BOUCLE POUR CHAQUE élément dans iterable FAIRE SI élément est Vrai ALORS RETOURNE Vrai FIN SI FIN BOUCLE POUR CHAQUE RETOURNE Faux |
Remarques
- Si l'itérable est vide, alors la fonction any() renvoie False.
- La fonction any() est intégrée à Python depuis la version 2.5, tout comme all(). Elle permet de savoir si au moins un élément dans un itérable est évalué comme vrai (True). Cela en fait un outil précieux pour effectuer des tests rapides sur des listes, tuples, ensembles ou tout autre type itérable.
- Contrairement à ce que dit la description fournie, any() ne vérifie pas si un élément est "itérable", mais plutôt s'il est évalué comme vrai selon la logique booléenne de Python. Par exemple, any([0, "", None, 5]) retournera True car 5 est considéré comme vrai, même si les autres valeurs sont fausses.
- La fonction prend un seul paramètre : un itérable. Ce dernier peut contenir n'importe quel type d'objet, du moment qu'il peut être parcouru. Si un objet non-itérable est passé à any(), cela provoquera une erreur. Il est donc essentiel de toujours fournir une structure de données itérable.
- Le retour de any() est simple : il renvoie True si au moins un des éléments de l'itérable est évalué comme vrai, sinon il retourne False. Ainsi, any([]) ou any([0, None, ""]) renverront False, car aucun élément n'est "vrai".
- Tout comme all(), any() utilise une logique de court-circuit. Cela signifie que dès qu'un élément évalué comme True est trouvé, l'évaluation s'arrête immédiatement. Cela rend la fonction très efficace, surtout sur des grands ensembles de données.
- L'utilisation de any() avec une expression génératrice est très fréquente et permet d'évaluer des conditions complexes de manière concise. Par exemple, any(x > 10 for x in ma_liste) permet de vérifier si au moins un élément de la liste est supérieur à 10. C'est une méthode élégante pour éviter des boucles longues et moins lisibles.
- Le cas où l'itérable est vide est important à noter : any([]) retournera toujours False, car il n'y a aucun élément pour valider la condition. C'est l'opposé de all([]), retournant True. Ces comportements reflètent des conventions logiques formelles et peuvent surprendre les débutants.
- Une confusion courante est de penser que any() teste si les éléments sont "itérables" ou non. Ce n'est pas son rôle. Pour tester si un élément est itérable, il faut utiliser d'autres techniques comme isinstance(x, collections.abc.Iterable). any() se limite à évaluer la valeur de vérité de chaque élément.
Dernière mise à jour : Mercredi, le 14 septembre 2016