# Python | Select random value from a list

• Difficulty Level : Easy
• Last Updated : 27 Nov, 2018

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.

Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning - Basic Level Course

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
```

My Personal Notes arrow_drop_up