How to use the Python random module
The Python random
module offers you a variety of functions for generating random numbers in various formats, ranging from integers to floatingpoint numbers to selecting elements from lists.
What is Python’s random module and what can it be used for?
The Python random
module random is a builtin library that allows you to generate random numbers and perform randombased operations in your programs. It includes various functions for generating pseudorandom numbers that can be used in many applications, from simulation to game development and cryptographic tasks.
An important characteristic of the random module is its ability to provide reproducible results. By establishing a starting value or seed, the process of random generation can be reproduced. This is beneficial for testing, experiments and simulations that require consistent random data.
What are the functions in the random module?
The Python random module contains various methods for generating and processing random numbers. The following table provides an overview of the functions and their properties:
Name of function  Explanation 

seed(a=None, version=2)

Defines the initial value (seed) for the random number generator 
getstate()

Returns the current state of the random number generator as an object 
setstate(state)

Resets the state of the random number generator using a state object 
getrandbits(k)

Returns an integer with k bits 
randrange(start, stop, step)

Creates a random integer from the specified range 
randint(a, b)

Returns a random integer in the specified range 
choice(seq)

Returns a random element from the given sequence 
choices(population, weights=None, *, cum_weights=None, k=1)

Creates a list with k randomly selected elements from the population; optional to specify the probabilities 
sample(k, population)

Creates a list with k randomly selected elements from the population, without duplicates 
shuffle(x)

Shuffles the elements in a list in random order 
random()

Returns a random floatingpoint number between 0 and 1 
uniform(a, b)

Returns a random floatingpoint number in the specified range, including the limit values 
triangular(low, high, mode)

Creates a random floatingpoint number in the triangular distribution range 
betavariate(alpha, beta)

Returns a random floatingpoint number from a beta distribution 
expovariate(lambd)

Returns a random floatingpoint number from an exponential distribution 
gammavariate(alpha, beta)

Creates a random floatingpoint number from a gamma distribution 
gauss(mu, sigma)

Returns a random floatingpoint number from a Gaussian distribution 
lognormvariate(mu, sigma)

Creates a random floatingpoint number from a logarithmic normal distribution 
normalvariate(mu, sigma)

Returns a random floatingpoint number from a normal distribution 
vonmisesvariate(mu, kappa)

Returns a random floatingpoint number with a von Mises distribution or circular normal distribution 
paretovariate(alpha)

Returns a random floatingpoint number with a Pareto distribution 
weibullvariate(alpha, beta)

Returns a random floatingpoint number with a Weibull distribution 
How to select elements randomly from a list
If you want to select several random elements from a list, you can use the function choices(seq, k=n)
from the Python random module, where n
is the number of desired random elements.
import random
my_list = ['Apple', 'Banana', 'Orange', 'Strawberry', 'Cherry']
# Randomly selecting an element from the list
random_elements = random.choices(my_list, k=3)
print("Randomly selected elements:", random_elements)
pythonIn this case, we use the choices()
function to select three random elements from my_list
. The results are returned as a list of three random elements.
 99.9% uptime and superfast loading
 Advanced security features
 Domain and email included
How to shuffle a list
The shuffle()
function arranges Python list elements in a random order.
import random
# A list of elements
my_list = ['Apple', 'Banana', 'Orange', 'Strawberry', 'Cherry']
# Shuffle the elements in the list
random.shuffle(my_list)
print("Shuffled list:", my_list) # Example Output: Shuffled list: ['Strawberry', 'Banana', 'Apple', 'Cherry', 'Orange']
pythonYou should keep in mind that shuffle()
changes the list itself and does not return a new one. After using shuffle()
, the original list will be in a random order.
How to set a seed value
When you use random.seed()
from the Python random module to set a specific seed value, it initialises the random number generator to produce random numbers using this seed. Therefore, if you set the same seed value again later, it will result in the identical sequence of random numbers being generated in your application.
import random
# Setting the seed value to 42
random.seed(42)
# Generating random numbers
print(random.random()) # Example output: 0.6394267984578837
print(random.random()) # Example output: 0.025010755222666936
# Resetting the seed value to 42
random.seed(42)
# Generating random numbers again
print(random.random()) # Example output: 0.6394267984578837 (identical to the previous value)
print(random.random()) # Example output: 0.025010755222666936 (identical to the previous value)
pythonAfter the seed value is set, it generates and outputs random numbers. Resetting the seed to the same value results in the same sequence of random numbers being produced again. In this example, the seed value is 42. As long as this seed remains constant, the random numbers can be consistently replicated.