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
