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 sample

Returns: 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

Leave a Reply

Your email address will not be published. Required fields are marked *