Хотел бы построить список индексов в двумерном массиве bool_, где True.
import numpy
arr = numpy.zeros((6,6), numpy.bool_)
arr[2,3] = True
arr[5,1] = True
results1 = [[(x,y) for (y,cell) in enumerate(arr[x].flat) if cell] for x in xrange(6)]
results2 = [(x,y) for (y,cell) in enumerate(arr[x].flat) if cell for x in xrange(6)]
результаты 1:
[[], [], [(2, 3)], [], [], [(5, 1)]]
результаты 2 полностью неверны
Цель:
[(2, 3),(5, 1)]
Есть ли способ сделать это без сглаживания списка впоследствии, или какой-нибудь лучший способ сделать это в целом?