Sean R. Lynch wrote: >>>> x = zeros((3,)) >>>> x[array([0, 1, 1])] += array([1, 1, 1]) >>>> x > array([ 1., 1., 0.]) > > If this worked the way I was hoping, the output would be [1 2 0] because > it would add to element 1 twice due to its duplication in the advanced > selection array. > > Is the current behavior intentional or is it an accident of > implementation?
It is an unavoidable consequence of the way Python interprets that code and the way numpy arrays are fundamentally implemented. See Travis Oliphant's, Tim Hochberg's and my posts in the thread "Histograms via indirect index arrays" for more details. http://projects.scipy.org/pipermail/numpy-discussion/2006-March/thread.html#6877 -- Robert Kern "I have come to believe that the whole world is an enigma, a harmless enigma that is made terrible by our own mad attempt to interpret it as though it had an underlying truth." -- Umberto Eco _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion