[Numpy-discussion] shuffle a slice

Robert Kern robert.kern at gmail.com
Sat May 29 14:45:35 EDT 2010


On Sat, May 29, 2010 at 13:35, Keith Goodman <kwgoodman at gmail.com> wrote:
> np.random.shuffle: "Modify a sequence in-place by shuffling its contents."
>
> Matches doc string:
>
>>> a = np.arange(10)
>>> np.random.shuffle(a[:-1])
>>> a
>   array([0, 7, 8, 4, 3, 6, 2, 1, 5, 9])
>
> Doesn't match doc string:
>
>>> l = range(10)
>>> np.random.shuffle(l[:-1])
>>> l
>   [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

This behavior does match the doc-string. l[:-1] creates a new list
unconnected to the original list. np.random.shuffle() then shuffles
that new list in-place.

> Is there any way for numpy to catch this?

Nope.

-- 
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



More information about the NumPy-Discussion mailing list