Есть ли способ "псевдо"-случайно выбрать элемент из списка, который не был выбран ранее? Я знаю о функции choice
, которая возвращает случайный элемент из списка, но без учета ранее выбранных элементов. Я мог бы отслеживать, какие элементы уже были выбраны, и продолжать случайным образом выбирать другой еще не выбранный элемент, но это может включать вложенные циклы и т. д.
Я также мог бы, например, удалять выбранный элемент из списка на каждой итерации, но это тоже не кажется хорошим решением.
Мой вопрос: существует ли «осведомленная» функция choice
, которая выбирает только элементы, которые не были выбраны ранее? Обратите внимание, что я не спрашиваю, как реализовать такую функцию, но возможные решения, конечно, также хорошо принимаются.
random.sample
илиrandom.shuffle
. Чтобы правильно ответить на ваш вопрос, необходимо больше контекста. - person Vincent Savard   schedule 12.02.2016random.shuffle
, так как в моем случае не имеет значения, изменен исходный список или нет, если другие решения не появятся. Спасибо! - person nbro   schedule 12.02.2016