Python >> Tutoriel Python >  >> Python

Fonction Python all()

all(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 tous les éléments itérables sont évalués à True en utilisant la conversion booléenne implicite, sinon elle renvoie False . Si l'itérable est vide, all() renvoie True car la condition est satisfaite pour tous les éléments .

Argumentation x -> x1, x2, ..., xn Itérable tel qu'une liste, un tuple ou un dictionnaire
Valeur de retour bool(x1) and bool(x2) ... and bool(xn) Convertit tous les éléments en type booléen et renvoie True si tous les éléments évaluent à True en utilisant le bool() fonction de conversion.

Interface de code interactive

Considérez l'extrait de code interactif suivant :

Exercice :Ajoutez une autre valeur de chaîne à la liste afin que le all() la fonction renvoie False .

Astuce  :Une seule valeur de chaîne correspond à False .


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 all() pour les listes

Le code suivant vous montre comment utiliser le all() fonction sur différentes listes - pouvez-vous déterminer les éléments de liste individuels qui font la fonction all() renvoie False ?

# Boolean list with False value
print(all([True, False, True, True]))
# False


# Boolean list without False value
print(all([True, True]))
# True


# Integer list with 0 value
print(all([1, 2, -1, 0]))
# False


# Integer list without 0 value
print(all([1, 2, -1]))
# True


# List of Lists with empty inner list
print(all([[], [1, 2, 3]]))
# False


# List of Lists without empty inner list
print(all([[1, 2, 3], [4, 5]]))
# True


# Empty List
print(all([]))
# True

Exemples pour Tuple

Si vous utilisez le all() fonction sur les tuples, elle renverra une valeur booléenne qui indique si tous les éléments du tuple sont évalués à True .

print(all((1, 2, 3)))
# True

print(all((True, True, 2==2)))
# True

print(all((True, 3, 1!=1)))
# False

Exemples de dictées

Le all() la fonction sur les dictionnaires vérifie l'itérabilité des clés (et non des valeurs) si tous les éléments sont évalués à True . Si c'est le cas, la valeur de retour est True , sinon c'est False .

d = {'Alice': 10000,
     'Bob': 5000,
     'Carl': 0}

print(all(d))
# True

d[''] = 100000


print(all(d))
# False

Mise en œuvre

Selon la documentation officielle de Python, le all() la fonction est sémantiquement équivalente à l'extrait de code suivant :

def all(iterable):
    for element in iterable:
        if not element:
            return False
    return True

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 False élément est détecté, il interrompt la boucle et renvoie False . Il s'agit d'une optimisation appelée court-circuit et cela signifie que seul le premier False la valeur est évaluée !

Fonction Python all() 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 all() fonction. Cela peut être appelé un "all() fonction avec une boucle for ».

print(all(x**2 == 16 for x in range(10)))
# False

Vous utilisez la condition x**2 == 16 qui ne vaut que 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 all() la fonction renvoie False après évaluation du premier élément x=0 .

Résumé

all(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 tous les éléments itérables sont évalués à True en utilisant la conversion booléenne implicite , sinon il renvoie False . Je

si l'itérable est vide, all([]) renvoie True car la condition est satisfaite pour tous les éléments .


Post précédent
Prochain article