On Thu, Aug 29, 2013 at 12:00 PM, Martin Luethi <[email protected]>
wrote:
>
> Dear all,
>
> After some surprise, I noticed an inconsistency while adding array
> slices:
>
> > a = np.arange(5)
> > a[1:] = a[1:] + a[:-1]
> > a
> array([0, 1, 3, 5, 7])
>
> versus inplace
>
> > a = np.arange(5)
> > a[1:] += a[:-1]
> > a
> array([ 0,  1,  3,  6, 10])
>
> My suspicition is that the second variant does not create intermediate
> storage, and thus works on the intermediate result, effectively
> performing a.cumsum().

Correct. Not creating intermediate storage is the point of using augmented
assignment.

--
Robert Kern
_______________________________________________
NumPy-Discussion mailing list
[email protected]
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to