Open In App

Randomly select n elements from list in Python

Improve
Improve
Like Article
Like
Save
Share
Report

In this article, we will discuss how to randomly select n elements from the list in Python. Before moving on to the approaches let’s discuss Random Module which we are going to use in our approaches. 

A random module returns random values. It is useful when we want to generate random values. Some of the methods of Random module are:- seed(), getstate(), choice(), sample() etc.

Select randomly n elements from a list using randrange()

Here, we are using the random randrange() function to return a single random number from a list.

Python3




import random
 
list = [1, 2, 3, 4]
get_index = random.randrange(len(letters))
 
print(letters[get_index])


Output:

3

Time Complexity: O(n) where n is the number of elements in the list
Auxiliary Space: O(1), here constant extra space is required

Selecting more than one random element from a list using sample()

The sample() method is used to return the required list of items from a given sequence. This method does not allow duplicate elements in a sequence. 

python3




# importing random module
import random
 
# declaring list
list = [2, 2, 4, 6, 6, 8]
 
# initializing the value of n
n = 4
 
# printing n elements from list
print(random.sample(list, n))


Output:

[8, 6, 6, 4]

Selecting more than one random element from a list using choices()

Here, we are using the random choices() function to return more than one random number from a list.

Python3




# importing random module
import random
 
# declaring list
list = ['a', 'b', 'c', 'd', 'e', 'f']
 
# initializing the value of n
n = 4
 
# printing n elements from list
print(random.choices(list, k=n))


Output: 

['d', 'd', 'f', 'a']

Select randomly n elements from a list using choice()

The choice() method is used to return a random number from given sequence. The sequence can be a list or a tuple. This returns a single value from available data that considers duplicate values in the sequence(list). 

python3




# importing random module
import random
 
# declaring list
list = [2, 2, 4, 6, 6, 8]
 
# initializing the value of n
n = 4
 
# traversing and printing random elements
for i in range(n):
     
    # end = " " so that we get output in single line
    print(random.choice(list), end = " ")


Output : 

8 2 4 6 

RECOMMENDED ARTICLES – Randomly select elements from list without repetition in Python



Last Updated : 14 Mar, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads