случайность random.shuffle's Python

Следующее с веб-сайта Python, о

random.shuffle(x[, random])

Переставьте последовательность x на месте. Случайный дополнительный аргумент является функцией с 0 аргументами, возвращая случайное плавание в [0.0, 1.0); по умолчанию это - функция random().

Отметьте это даже довольно маленьким len(x), общее количество перестановок x больше, чем период наиболее генераторов случайных чисел; это подразумевает, что большинство перестановок длинной последовательности никогда не может быть сгенерировано.

Если я хочу повторить получение случайной перестановки ['a'..'k'], кажется, что перестановка НЕ даст мне случайность. Действительно ли мое понимание является правильным?

Спасибо!

6
задан SilentGhost 1 July 2010 в 17:34
поделиться

2 ответа

Вам не о чем беспокоиться. В то время как под len(x) находится под 2000, random.shuffle должен работать просто отлично.

6
ответ дан 9 December 2019 в 20:39
поделиться

Для последовательности длиной 11 их 11! или 39 916 800 (~ 2 25,3 ) возможных перестановок. Для Mersienne Twister (случайный алгоритм Python) период равен 2 19937 -1. Другими словами, все будет в порядке.

6
ответ дан 9 December 2019 в 20:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: