Ответ 1
Согласно документации:
random.sample (население, к)
Возвращает список длины уникальных элементов, выбранных из последовательности популяции. Используется для случайной выборки без замены.
По сути, он выбирает k уникальных случайных элементов, выборку из последовательности:
>>> import random
>>> c = list(range(0, 15))
>>> c
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
>>> random.sample(c, 5)
[9, 2, 3, 14, 11]
random.sample
работает также напрямую из диапазона:
>>> c = range(0, 15)
>>> c
range(0, 15)
>>> random.sample(c, 5)
[12, 3, 6, 14, 10]
В дополнение к последовательностям random.sample
работает и с наборами:
>>> c = {1, 2, 4}
>>> random.sample(c, 2)
[4, 1]
Однако random.sample
не работает с произвольными итераторами:
>>> c = [1, 3]
>>> random.sample(iter(c), 5)
TypeError: Population must be a sequence or set. For dicts, use list(d).