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] Is there any way for numpy to catch this?