sample() is an inbuilt function of random module in Python that returns a particular length list of items chosen from the sequence i.e. list, tuple, string or set. 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, it specify the length of a sample.
Returns: k length new list of elements chosen from the sequence.
Code #1: Simple implementation of sample() function.
from random import sample
list1 = [ 1 , 2 , 3 , 4 , 5 ]
print (sample(list1, 3 ))
|
Output:
[2, 3, 5]
Code #2: Basic use of sample() function.
import random
list1 = [ 1 , 2 , 3 , 4 , 5 , 6 ]
print ( "With list:" , random.sample(list1, 3 ))
string = "GeeksforGeeks"
print ( "With string:" , random.sample(string, 4 ))
tuple1 = ( "ankit" , "geeks" , "computer" , "science" ,
"portal" , "scientist" , "btech" )
print ( "With tuple:" , random.sample(tuple1, 4 ))
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: Output will be different everytime as it returns a random item.
Code #3: Raise Exception
If the sample size i.e. k is larger than the sequence size, ValueError is raised.
import random
list1 = [ 1 , 2 , 3 , 4 ]
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:\Users\user\AppData\Local\Programs\Python\Python36\lib\random.py", line 317, in sample
raise ValueError("Sample larger than population or is negative")
ValueError: Sample larger than population or is negative