Следующее с веб-сайта Python, о
random.shuffle(x[, random])
Переставьте последовательность
x
на месте. Случайный дополнительный аргумент является функцией с 0 аргументами, возвращая случайное плавание в[0.0, 1.0)
; по умолчанию это - функцияrandom()
.Отметьте это даже довольно маленьким
len(x)
, общее количество перестановокx
больше, чем период наиболее генераторов случайных чисел; это подразумевает, что большинство перестановок длинной последовательности никогда не может быть сгенерировано.
Если я хочу повторить получение случайной перестановки ['a'..'k']
, кажется, что перестановка НЕ даст мне случайность. Действительно ли мое понимание является правильным?
Спасибо!
Вам не о чем беспокоиться. В то время как под len(x)
находится под 2000, random.shuffle
должен работать просто отлично.
Для последовательности длиной 11 их 11! или 39 916 800 (~ 2 25,3 ) возможных перестановок. Для Mersienne Twister (случайный алгоритм Python) период равен 2 19937 -1. Другими словами, все будет в порядке.