On Fri, May 25, 2012 at 11:17 AM, Chris Withers <chris@simplistix.co.uk> wrote:
Hi All,

I have an array:

arrrgh = numpy.zeros(100000000)

A sparse collection of elements will have values greater than zero:

arrrgh[9999] = 2
arrrgh[3453453] =42

The *wrong* way to do this is:

for i in xrange(len(arrrgh)):
    if arrrgh[i] > 1:
        print i

What's the right way?

Chris


np.nonzero(arrrgh > 1)

Note, it returns a list of lists, one for each dimension of the input array.

Cheers!
Ben Root