При работе с обычными списками Python, random.shuffle()
сделает работу так же, как показывают предыдущие ответы.
Но когда дело доходит до ndarray
(numpy.array
), random.shuffle
, кажется, ломает оригинал ndarray
. Вот пример:
import random
import numpy as np
import numpy.random
a = np.array([1,2,3,4,5,6])
a.shape = (3,2)
print a
random.shuffle(a) # a will definitely be destroyed
print a
Просто используйте: np.random.shuffle(a)
Как и random.shuffle
, np.random.shuffle
перемещает массив на месте.