You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
13 lines
310 B
Python
13 lines
310 B
Python
import random
|
|
from typing import Collection, TypeVar
|
|
|
|
T = TypeVar("T")
|
|
|
|
|
|
def sample_up_to(population: Collection[T], k: int) -> T:
|
|
if not isinstance(population, list):
|
|
population = list(population)
|
|
if len(population) > k:
|
|
population = random.sample(population, k)
|
|
return population
|