Python Random Module
The random module is a built-in module that allow us to generate random elements.
import random
seed()
The seed method is used to initialize the random number generator.
# Set seed for reproducible random numbers
random.seed(1)
random.random()
0.13436424411240122
Setting the seed to a number will always return the same random number:
random.seed(1)
random.random()
0.13436424411240122
random.seed(1)
random.random()
0.13436424411240122
random.seed(1)
random.random()
0.13436424411240122
random.seed(1)
random.random()
0.13436424411240122
random.seed(1)
random.random()
0.13436424411240122
The default value of the seed method is the current system time, that is why we always get a different number:
# Generate random number without setting seed (uses system time)
random.random()
0.8474337369372327
random.random()
0.763774618976614
random.random()
0.2550690257394217
randint()
random.randint(start: int, stop: int)
This method returns a random number between a given start and stop parameters:
random.randint(1, 5)
3
random.randint(1, 5)
2
random.randint(1, 5)
5
random.randint(1, 5)
1
random.randint(1, 5)
3
random.randint(1, 5)
1
choice()
The choice method return a randomly selected element from an iterable, like a list, set or str:
random.choice([1, 2, 3, 4])
1
random.choice([1, 2, 3, 4])
2
random.choice([1, 2, 3, 4])
4
random.choice([1, 2, 3, 4])
4
shuffle()
The shuffle method takes in an iterable and shuffle it:
my_list = [1, 2, 3, 4]
# Shuffle list in place
random.shuffle(my_list)
my_list
[1, 4, 3, 2]
random.shuffle(my_list)
my_list
[2, 4, 3, 1]
random.shuffle(my_list)
my_list
[4, 2, 3, 1]
sample()
random.sample(iterable, k: int)
sample returns a list with a random selection from an iterable. The number of elements returned is equal to the k parameter:
# Randomly sample k elements from the list
random.sample([1, 2, 3, 4], 1)
[3]
random.sample([1, 2, 3, 4], 2)
[3, 4]
random.sample([1, 2, 3, 4], 3)
[4, 3, 2]
random.sample([1, 2, 3, 4], 4)
[1, 2, 4, 3]
random()
The random method returns a random floating point number between 0.0 and 1.0:
random.random()
0.4143139993007743
random.random()
0.17300740157905092
random.random()
0.548798761388153
random.random()
0.7030407620656315
uniform()
the uniform method is similar to randint, but return a floating point number:
random.uniform(1, 5)
3.697943322009309
random.uniform(1, 5)
2.498812082006561
random.uniform(1, 5)
2.7558465201782525
random.uniform(1, 5)
3.0337059529999273