Я хотел бы сгенерировать случайное число 193 раза, но установить начальное число, чтобы впоследствии я мог получить одно и то же число для каждого экземпляра. Поскольку я не смог найти функцию для установки начального числа X раз, я написал следующий код:
rand_list_raw = []
val_length = int(len(all_articles)*0.15)
seeds = list(range(0,val_length))
index = 0
while len(rand_list_raw) < val_length:
seed = seeds[index]
random.seed(seed)
rand_num = random.randrange(0, 1290, 1)
rand_list_raw.append(rand_num)
index += 1
Проверяя длину уникальных переменных в rand_list_raw
, я пришел к выводу, что random.seed()
имеет отображение многие-к-одному, так что несколько экземпляров случайного начального числа с разными числами могут привести к одному и тому же результату. Это на самом деле имеет смысл, поскольку диапазон входных переменных бесконечен, а диапазон выходных переменных конечен.
len(set(rand_list_raw))
Есть ли способ гарантировать разные цифры (кроме жесткого кодирования)?
Ps. Я знаю, что я мог бы просто создать список с уникальными случайными числами в пределах диапазона и экспортировать его. Но дело не в этом.