Python Glossary English

все 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Сообщить о неточности