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