Maison >développement back-end >Tutoriel Python >Comment les fonctions « any » et « all » de Python aident-elles à déterminer les différences entre les éléments itérables ?
Comprendre toutes les fonctions de Python
Les fonctions toutes et toutes de Python sont des outils essentiels pour analyser la véracité des éléments itérables.
n'importe quelle fonction
any(iterable) renvoie True si un élément de l'itérable est vrai (pas faux, aucun, 0, ''). Si tous les éléments sont faux, il renvoie False. Il se comporte de la même manière qu'une opération OU logique.
all Function
all(iterable) renvoie True si tous les éléments de l'itérable sont True. Si même un élément est False, il renvoie False. Cela ressemble à une opération ET logique.
Application aux Tuples
Dans votre cas spécifique, vous disposez d'une liste de tuples :
d['Drd2'] = [[1, 5, 0], [1, 6, 0]]
Vous zippez ces tuples pour créer une liste de tuples d'éléments correspondants :
list(zip(*d['Drd2'])) = [(1, 1), (5, 6), (0, 0)]
Pour chacun d'entre eux tuples, vous utilisez l'expression :
any(x) and not all(x)
Cela vérifie si au moins une valeur dans le tuple est différente (en utilisant n'importe laquelle) alors que toutes les valeurs ne sont pas identiques (en utilisant pas toutes). Cependant, dans votre exemple, toutes les valeurs correspondantes dans chaque tuple sont les mêmes, donc l'expression est évaluée à False pour tous les tuples, ce qui donne [False, False, False].
Correction du résultat attendu
Pour vérifier si les deux nombres de chaque tuple ne sont pas identiques, vous devez utiliser le expression :
x[0] != x[1]
Ceci compare directement les deux nombres du tuple et renvoie True s'ils sont différents. L'utilisation de cette expression avec la compréhension de liste vous donne le résultat attendu de [False, True, False], où (1, 1) sont identiques, (5, 6) sont différents et (0, 0) sont identiques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!