According to documentation:
random.sample(population, k)
Return a k length list of unique elements chosen from the population sequence. Used for random sampling without replacement.
Basically, it picks k unique random elements, a sample, from a sequence:
>>> 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
works also directly from a range:
>>> c = range(0, 15) >>> c range(0, 15) >>> random.sample(c, 5) [12, 3, 6, 14, 10]
In addition to sequences, random.sample
works with sets too:
>>> c = {1, 2, 4} >>> random.sample(c, 2) [4, 1]
However, random.sample
doesn’t work with arbitrary iterators:
>>> c = [1, 3] >>> random.sample(iter(c), 5) TypeError: Population must be a sequence or set. For dicts, use list(d).