
On Sat, Sep 8, 2012 at 4:56 PM, nicky van foreest <vanforeest@gmail.com>wrote:
Hi,
I ran the following code:
args = np.array([4,8]) print np.sum( (arg > 0) for arg in args) print np.sum([(arg > 0) for arg in args]) print np.prod( (arg > 0) for arg in args) print np.prod([(arg > 0) for arg in args])
with this result:
2 1
I get 2 here, not 1 (numpy version 1.6.1).
<generator object <genexpr> at 0x1c70410> 1
Is the difference between prod and sum intentional? I would expect that numpy.prod would also work on a generator, just like numpy.sum.
Whatever the correct result may be, I would expect them to have the same behavior with respect to a generator argument.
BTW: the last line does what I need: the product over the truth values of all elements of args. Is there perhaps a nicer (conciser) way to achieve this? Thanks.
How about: In [15]: np.all(args > 0) Out[15]: True Warren
Nicky _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion