все Python 3randomпонятие
random.sample
выборка
Возвращает список из k уникальных случайных элементов без повторений. k не может превышать len(population).
Синтаксис
random.sample(population, k)
Уникальность тут позиционная, а не по значению: если в population есть одинаковые элементы, одно и то же значение спокойно попадёт в результат дважды. k больше длины population даёт ValueError, а не укороченную выборку; множество или словарь передавать нельзя (с 3.11 это TypeError) — сначала оберните в list(). Сам population не меняется, в отличие от random.shuffle.
Примеры
import random
random.seed(7)
print(random.sample(range(10), 3)) # → 3 уникальных
print(random.sample('abcdef', 4)) # → 4 символа
deck = list(range(1,53))
hand = random.sample(deck, 5) # покерная рука
print(sorted(hand))
print(random.sample(range(1,46), 6)) # → лотерея 6 из 45
print(random.sample([1,2,3], 3)) # → перестановка
См. также
Открыть в полном глоссарииdocs.python.orgСообщить о неточности