I want to fill a matrix from an array of indices :
import numpy as np indx = [[0,1,2],[1,2,4],[0,1,3],[2,3,4],[0,3,4]] x = np.zeros((5,5)) for i in range(5)
Use advanced-indexing after intialization -
x[np.arange(len(indx))[:,None], indx] = 1