Python random.sample()
Python random.sample()
sample() is a built-in function in Python’s random module that returns a list of items of a specific length selected from a sequence (i.e., a list, tuple, string, or set). It is used for random sampling without replacement.
Syntax: random.sample(sequence, k)
Parameters:
sequence: can be a list, tuple, string, or set
k: an integer value specifying the length of a sampleReturns: A new list of length k containing the elements selected from the sequence.
Code #1: Simple implementation of the sample() function.
# Python 3 program to demonstrate
# the use of the sample() function.
# import random
from random import sample
# Prints a list of random items of a given length
list1 = [1, 2, 3, 4, 5]
print(sample(list1,3))
Output:
[2, 3, 5]
Code #2: Basic use of the sample() function.
# Python3 program to demonstrate
# the use of sample() function .
# import random
import random
# Prints list of random items of
# length 3 from the given list.
list1 = [1, 2, 3, 4, 5, 6]
print("With list:", random.sample(list1, 3))
# Prints list of random items of
# length 4 from the given string.
string = "GeeksforGeeks"
print("With string:", random.sample(string, 4))
# Prints list of random items of
# length 4 from the given tuple.
tuple1 = ("ankit", "geeks", "computer", "science",
"portal", "scientist", "btech")
print("With tuple:", random.sample(tuple1, 4))
# Prints a list of random items of
# length 3 from the given set.
set1 = {"a", "b", "c", "d", "e"}
print("With set:", random.sample(set1, 3))
Output:
With list: [3, 1, 2]
With string: ['e', 'f', 'G', 'G']
With tuple: ['ankit', 'portal', 'geeks', 'computer']
With set: ['b', 'd', 'c']
Note: The output will be different each time because it returns a random item. Code #3: Raises an exception
If the sample size, k, is larger than the sequence size, a ValueError will be raised.
# Python3 program to demonstrate the
# error of sample() function.
import random
list1 = [1, 2, 3, 4]
# exception raised
print(random.sample(list1, 5))
Output:
Traceback (most recent call last):
File "C:/Users/user/AppData/Local/Programs/Python/Python36/all_prgm/geeks_article/sample_method_article.py", line 8, in
print(random.sample(list1, 5))
File "C:UsersuserAppDataLocalProgramsPythonPython36librandom.py", line 317, in sample
raise ValueError("Sample larger than population or is negative")
ValueError: Sample larger than population or is negative