any(x)
intégré de Python la fonction prend un itérable comme argument x
comme une liste, un tuple ou un dictionnaire. Il renvoie True
si au moins un des éléments de l'itérable vaut True
en utilisant la conversion booléenne implicite, sinon elle renvoie False
. Si l'itérable est vide, par exemple, any([])
, il renvoie False
car la condition n'est satisfaite pour aucun élément .
Argumentation | x -> x1, x2, ..., xn | Itérable tel qu'une liste, un tuple ou un dictionnaire |
Valeur de retour | bool(x1) or bool(x2) ... or bool(xn) | Renvoie True si un élément est évalué à True en utilisant le bool() fonction de conversion. Il effectue essentiellement un or logique sur les représentations booléennes des éléments de l'itérable. |
Interface de code interactive
Considérez l'extrait de code interactif suivant :
Exercice :Supprime un élément de la liste pour que le any()
la fonction renvoie False
.
Astuce :Un seul élément est évalué à True
.
Mais avant de continuer, je suis ravi de vous présenter mon nouveau livre Python Python One-Liners (Lien Amazon).
Si vous aimez les one-liners, vous allez adorer le livre. Il vous apprendra tout ce qu'il y a à savoir sur une seule ligne de code Python. Mais c'est aussi une introduction à l'informatique , science des données, apprentissage automatique et algorithmes. L'univers en une seule ligne de Python !
Le livre est sorti en 2020 avec l'éditeur de livres de programmation de classe mondiale NoStarch Press (San Francisco).
Lien :https://nostarch.com/pythononeliners
Exemple any() pour les listes
Le code suivant vous montre comment utiliser le any()
fonction sur différentes listes.
# Boolean list with False value print(any([True, False, True, True])) # True # Boolean list without False value print(any([True, True])) # True # Integer list with 0 value print(any([1, 2, -1, 0])) # True # Integer list without 0 value print(any([1, 2, -1])) # True # Nested list with empty inner list print(any([[], [1, 2, 3]])) # True # Nested list with two empty inner lists print(any([[], []])) # False # Empty List print(any([])) # False
Exemple any() pour les tuples
Si vous utilisez le any()
sur les tuples, elle renverra une valeur booléenne qui indique si tous les éléments du tuple sont évalués à True
.
print(any((1, 2, 3))) # True print(any((0, 0, 0))) # False print(any((False, 2==3, -1))) # True print(any((True, 3, 1!=1))) # True
Exemple any() pour Dicts
Le any()
la fonction sur les dictionnaires vérifie l'itérable des clés (pas les valeurs) si au moins une clé est évaluée à True
. Si c'est le cas, la valeur de retour est True
, sinon c'est False
.
d = {'': 10000, 0: 5000, tuple(): 0} print(any(d)) # False d['x'] = 100000 print(any(d)) # True
Mise en œuvre
Selon la documentation officielle de Python, le any()
la fonction est sémantiquement équivalente à l'extrait de code suivant :
def any(iterable): for element in iterable: if element: return True return False
Ainsi, il passe en revue tous les éléments de l'itérable et utilise l'élément comme condition if pour vérifier s'il est évalué à True
ou False
. Dès qu'un True
élément est détecté, il interrompt la boucle et renvoie True
. Il s'agit d'une optimisation appelée court-circuit et cela signifie que seul le premier True
la valeur est évaluée !
Fonction Python any() avec boucle For
Vous pouvez également créer dynamiquement un itérable à l'aide d'une expression de générateur et le passer dans le any()
fonction. Cela peut être appelé un "
fonctionner avec une boucle for ». any
()
print(any(x**2 == 16 for x in range(10))) # True
Vous utilisez la condition x**2 == 16
qui vaut uniquement pour x=4
. Comme vous appliquez cette expression pour tous les x
valeurs de 0 à 9 (inclus) en utilisant le range()
fonction, elle renvoie principalement False
. En raison d'un court-circuit, le any()
la fonction renvoie True
après avoir évalué le cinquième élément x=4
.
Résumé
any(x)
intégré de Python la fonction prend un itérable comme argument x
comme une liste, un tuple ou un dictionnaire.
Il renvoie True
si au moins un des éléments de l'itérable évalue à True
en utilisant la conversion booléenne implicite , sinon il renvoie False
. Si l'itérable est vide, any([])
renvoie False
car la condition n'est satisfaite pour aucun élément .