Dans une console de python (en utilisant 2,7) si je mets dans le code suivant:tout de Python() ne donne pas le résultat attendu à une liste de petits nombres sont moins une valeur
vals = [1.2e-5, 1.5e-5, 3.2e-5, 4.5e-5]
for val in vals: print val < 0.001,
La sortie est True True True True
comme prévu.
Mais! Voici mon problème, si j'essaye all(vals) < 0.001
il renvoie faux?
Est-ce la mise en forme du nombre lui donnant des problèmes ou quelque chose d'autre? Si je le fais à nouveau mais remplacez la liste de vals avec vals = [2,2,2,2]
et vérifiez < 3
que j'obtiens la sortie désirée des deux manières!
EDIT réponses utiles, il est intéressant de noter que tous les ([0,1, 0,1, 0,1]) est évaluée à vrai, mais 0,1 == Vrai Faux Equivaut à? Qu'est-ce qui se passe avec ça? Est-ce qu'une valeur "non nulle" sera évaluée à Vrai mais n'est pas réellement "Vrai"?
Cochez [Comment fonctionnent toutes les fonctions de Python?] (Http://stackoverflow.com/questions/19389490/how-pythons-any-and-all-functions-work) – sam
@ sam2090 Qu'est-ce que c'est fou? en fait lire ça, et je ne pouvais toujours pas voir ce que je faisais mal !! Je suppose que ça vient de regarder quelque chose pendant trop longtemps. Tous triés maintenant! – rhawker