Как генерировать случайные числа, отличные от уже сгенерированных? - PullRequest
0 голосов
/ 11 января 2020

Я хочу сгенерировать 18000 чисел (целых) между 36499 и 130064, но два раза, и вставить их в два разных списка. Я хочу, чтобы числа в каждом списке были уникальными, то есть отличались друг от друга в списке и отличались от каждого числа в другом списке. Поэтому я решил использовать метод random.sample, и пока у меня есть

import random
random.seed(9000)

a = random.sample(range(36499, 130064), 18000)

Пока все хорошо. Однако, если я сделаю то же самое для, скажем, списка с именем «b», некоторые номера будут также присутствовать в списке «a». Ребята, можете ли вы придумать, как генерировать 18000 номеров, отличных от уже сгенерированных? Спасибо

Ответы [ 2 ]

3 голосов
/ 11 января 2020

вы можете сгенерировать 36000 случайных чисел вместо 18000, а затем создать из этого список А и список Б.

1 голос
/ 11 января 2020

Вы можете работать с наборами:

import random

random.seed(9000)
numbers = range(36499, 130064)
a = random.sample(numbers, 18000)
b = random.sample(set(numbers) - set(a), 18000)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...