Как случайным образом выбрать элементы из массива в python? - PullRequest
0 голосов
/ 27 января 2020

Мне нужно случайным образом выбрать элементы из списка. В настоящее время я иногда выбираю слишком много копий элемента из исходного списка, например:

Original List: [0, 1, 2, 3, 4]

3 Randomly Selected Elements: [4, 4, 4]

Я не хочу выбирать несколько 4-х, если в исходном списке было только 1.

Что я должен сделать, чтобы не брать больше копий значения, чем существует в первом массиве?

1 Ответ

0 голосов
/ 27 января 2020

Решением является удаление элементов из исходного списка при их выборе.

import random 
original_list = [1, 2, 2, 3, 3, 3]
number_of_random_selections = 4
random_selections = []

for i in range(0, len(original_list)):
    random_index = random.randint(0, number_of_random_selections)
    random_selection = original_list[random_index]
    random_selections.append(random_selection)
    original_list.remove(random_selection)

print(random_selections)
...