Dlaczego Numpy.all () i any () dają błędne wyniki, jeśli używasz wyrażeń generujących?
Pracując z czyimś kodem natknąłem się na ten błąd. Jakie jest zatem wyjaśnienie zachowania numpy?
In [1]: import numpy as np
In [2]: foo = [False, False]
In [3]: print np.any(x == True for x in foo)
True # <- bad numpy!
In [4]: print np.all(x == True for x in foo)
True # <- bad numpy!
In [5]: print np.all(foo)
False # <- correct result
p.s. Dostałem tutaj kod rozumienia listy:Sprawdź, czy lista zawiera tylko element x