On Sat, Sep 8, 2012 at 4:56 PM, nicky van foreest <vanforeest@gmail.com> wrote:

I get 2 here, not 1 (numpy version 1.6.1).

Whatever the correct result may be, I would expect them to have the same behavior with respect to a generator argument.

How about:

In [15]: np.all(args > 0)

Out[15]: True

Warren

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