Hi,
On Sun, Sep 9, 2012 at 12:56 AM, nicky van foreest

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])

Can't see why someone would write code like above, but anyway:
In []: args = np.array([4,8])
In []: print np.sum( (arg > 0) for arg in args)
2
In []: print np.sum([(arg > 0) for arg in args])
2
In []: print np.prod( (arg > 0) for arg in args)

with this result:

2 1

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.

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.

Nicky _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion