Here are 8 ways to select random element from a list in Python:
- Using random.choice() method
- Using random.randrange() method
- Using random.randint() method
- Using random.random() method
- Using random.sample() method
- Using random.choices() method
- Select k random value from a list
- Using numpy.random.choice() method
Method 1: Using the random.choice() method
To select a random element from a list in Python, you can use the “random.choice()” method. The random choice() method returns a random element from the non-empty sequence-like list.
Example
To select a random element from the list, use the “random.choice()” method and pass the list as an argument.
import random
data = ["infy", "tcs", "affle", "dixon", "astral"]
print(random.choice(data))
Output
astral
You can see that it selects one random element from the list and returns it. If you rerun the above code, then every time, it will return a different element.
➜ python3 app.py
infy
➜ python3 app.py
tcs
➜ python3 app.py
affle
Method 2: Using the random.randrange() method
The random.randrange() method is used to generate a random number in a given range, and we can specify the range to be 0 to the list length, get the index, and then the corresponding value.
Example
import random
data = ["infy", "tcs", "affle", "dixon", "astral"]
rand_idx = random.randrange(len(data))
random_num = data[rand_idx]
print("Random selected element is : " + random_num)
Output
Random selected element is : astral
Method 3: Using the random.randint() method
The random.randint() method is used to generate the random number. Also, this can be used to generate any number in a range, and then using that number, we can find the value at the corresponding index.
Example
import random
data = [11, 19, 18, 21, 46]
rand_idx = random.randint(0, len(data) - 1)
random_num = data[rand_idx]
print("Random selected number is : " + str(random_num))
Output
Random selected number is : 11
Method 4: Using the random.random() method
The random.random() method is used to generate the floating-point numbers in the range of 0 to 1.
Example
import random
data = [11, 19, 18, 21, 46]
rand_idx = int(random.random() * len(data))
random_num = data[rand_idx]
print("Random selected number is : " + str(random_num))
Output
Random selected number is : 18
Method 5: Selecting multiple random elements from a list in Python
To select multiple random elements from a Python list, use the “random.sample()” method. The random.sample() method returns a particular length of the list chosen from a sequence.
Example
To use the sample() method in Python, import the random module in your program.
import random
We need three random elements from the list, and then we will pass three as the second argument, which suggests the number of elements you need in the list.
import random
data = ["infy", "tcs", "affle", "dixon", "astral"]
print(random.sample(data, 3))
Output
['infy', 'affle', 'astral']
Method 6: Using the random.choices() method
The random.choices() method is “used to select numerous elements from a list or a single element from a specific sequence.”
Example
import random
data = [11, 19, 18, 21, 46]
print("Random selected number is : ", random.choices(data, k = 3))
Output
Random selected number is : [46, 46, 21]
Method 7: Select k random value from a list
import random
def select_random_Ns(l, k):
random.shuffle(l)
result = []
for i in range(0, len(l), k):
result.append(l[i:i + k])
return result
lst = ['D', 'A', 'T', 'A', 'B', 'A', 'S', 'E']
print(select_random_Ns(lst, 4))
Output
[['E', 'A', 'A', 'B'], ['T', 'D', 'A', 'S']]
Method 8: Using the numpy.random.choice() method
import numpy as np
data = [21, 19, 18, 46]
arr = np.array(data)
random_num = np.random.choice(arr)
print("Random selected number is : " + str(random_num))
Output
Random selected number is : 18
That’s it.
Krunal Lathiya is a seasoned Computer Science expert with over eight years in the tech industry. He boasts deep knowledge in Data Science and Machine Learning. Versed in Python, JavaScript, PHP, R, and Golang. Skilled in frameworks like Angular and React and platforms such as Node.js. His expertise spans both front-end and back-end development. His proficiency in the Python language stands as a testament to his versatility and commitment to the craft.