Есть ли способ «псевдо» - случайно выбрать элемент из списка, который не был выбран раньше? Я знаю о функции choice
, которая возвращает случайный элемент из списка, но без учета предыдущих выбранных элементов. Я мог бы отслеживать, какие элементы уже были выбраны, и произвольно выбирать другой еще не выбранный элемент, но это может включать вложенные петли и т. Д.Псевдо-случайный выбор элемента из списка, только если он еще не выбран
Я также мог бы, например, удалить элемент, выбранный из списка на каждой итерации, но это тоже не очень хорошее решение.
Мой вопрос: есть ли «осведомленная» функция choice
, которая выбирает только те элементы, которые ранее не были выбраны? Обратите внимание, что я не спрашиваю, как реализовать такую функцию, но возможные решения, конечно же, хорошо приняты.
Перемешать список и поп-элементы сверху. – khelwood
Вы можете использовать 'random.sample' или' random.shuffle'. Для правильного ответа на ваш вопрос требуется больше контекста. –
Да, я думаю, что я собираюсь «random.shuffle», так как в моем случае это не имеет значения, если исходный список изменен или нет, если другие решения не выходят. Благодаря! – nbro