Python – Select random value from a list



Python | Select random value from a list

Generating random numbers has always been an useful utility in day-day programming for games or various types of gambling etc. Hence knowledge and shorthands of it in any programming language is always a plus to have.

Let’s discusses all different ways to select random values from a list.

 

Method #1 : Using random.choice()

This method is designed for the specific purpose of getting random number from the container and hence is the most common method to achieve this task of getting a random number from a list.

# Python3 code to demonstrate 
# to get random number from list
# using random.choice()
import random
 
# initializing list 
test_list = [1, 4, 5, 2, 7]
 
# printing original list 
print ("Original list is : " + str(test_list))
 
# using random.choice() to 
# get a random number 
random_num = random.choice(test_list)
 
# printing random number
print ("Random selected number is : " + str(random_num))

Output:

Original list is : [1, 4, 5, 2, 7]
Random selected number is : 1

 

Method #2 : Using random.randrange()

This method is used to generate a random number in a range, for lists, we can specify the range to be 0 to its length, and get the index, and then corresponding value. This also gives the option of getting even placed elements or elements at index of certain multiple.

# Python3 code to demonstrate 
# to get random number from list
# using random.randrange
import random
 
# initializing list 
test_list = [1, 4, 5, 2, 7]
 
# printing original list 
print ("Original list is : " + str(test_list))
 
# using random.randrange() to 
# get a random number 
rand_idx = random.randrange(len(test_list))
random_num = test_list[rand_idx]
 
# printing random number
print ("Random selected number is : " + str(random_num))

Output:

Original list is : [1, 4, 5, 2, 7]
Random selected number is : 7

 

Method #3 : Using random.randint()

Yet another method to generate the random number, this also can be used to generate any number in a range and then using that number index, we can find the value at corresponding index, just like the above-mentioned technique. But it differs by the fact that it required 2 mandatory arguments for range.

# Python3 code to demonstrate 
# to get random number from list
# using random.randint()
import random
 
# initializing list 
test_list = [1, 4, 5, 2, 7]
 
# printing original list 
print ("Original list is : " + str(test_list))
 
# using random.randint() to 
# get a random number 
rand_idx = random.randint(0, len(test_list)-1)
random_num = test_list[rand_idx]
 
# printing random number
print ("Random selected number is : " + str(random_num))

Output:

Original list is : [1, 4, 5, 2, 7]
Random selected number is : 4

 

Method #4 : Using random.random()

This method generates the floating point numbers in the range of 0 to 1. We can also get the index value of list using this function by multiplying the result and then typecasting to int to get integer index and then corresponding list value.

# Python3 code to demonstrate 
# to get random number from list
# using random.random()
import random
 
# initializing list 
test_list = [1, 4, 5, 2, 7]
 
# printing original list 
print ("Original list is : " + str(test_list))
 
# using random.random() to 
# get a random number 
rand_idx = int(random.random() * len(test_list))
random_num = test_list[rand_idx]
 
# printing random number
print ("Random selected number is : " + str(random_num))

Output:

Original list is : [1, 4, 5, 2, 7]
Random selected number is : 7

Last Updated on November 13, 2021 by admin

Leave a Reply

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

Recommended Blogs