In the CVS sources there is now a new function "put". "put" is roughly the opposite of "take" put(x, indices, values) is roughly x.flat[j] = values[j] for all j in indices The fine print will appear in the manuals shortly.