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

Reply via email to