I have a list that will always contain only ones and zeroes. I need to get a list of the non-zero indices of the list:
a = [0, 1, 0, 1, 0, 0, 0, 0]
b = []
for i in range(len(a)):
if a[i] == 1: b.append(i)
print b
What would be the 'pythonic' way of achieving this ?
Since THC4k mentioned compress (available in python2.7+)
Not really a "new" answer but numpy has this built in as well.
Just wished to add explanation for 'funny' output from the previous asnwer. Result is a tuple that contains vectors of indexes for each dimension of the matrix. In this case user is processing what is considered a vector in numpy, so output is tuple with one element.