Python Random Module
Python Random module generates random numbers in Python. These are pseudo-random numbers means they are not truly random.
This module can be used to perform random actions such as generating random numbers, printing random a value for a list or string, etc. It is an in-built function in Python.
List of all the functions Python Random Module
There are different random functions in the Random Module of Python. Look at the table below to learn more about these functions:
Function Name | Description |
|---|---|
| seed() | Initialize the random number generator |
| getstate() | Returns an object with the current internal state of the random number generator |
| setstate() | Used to restore the state of the random number generator back to the specified state |
| getrandbits() | Return an integer with a specified number of bits |
| randrange() | Returns a random number within the range |
| randint() | Returns a random integer within the range |
| choice() | Returns a random item from a list, tuple, or string |
| choices() | Returns multiple random elements from the list with replacement |
| sample() | Returns a particular length list of items chosen from the sequence |
| random() | Generate random floating numbers |
| uniform() | Return a random floating number between two numbers both inclusive |
| triangular() | Return a random floating point number within a range with a bias towards one extreme |
| betavariate() | Return a random floating point number with beta distribution |
| expovariate() | Return a random floating point number with exponential distribution |
| gammavariate() | Return a random floating point number with a gamma distribution |
| gauss() | Return a random floating point number with Gaussian distribution |
| lognormvariate() | Return a random floating point number with a log-normal distribution |
| normalvariate() | Return a random floating point number with normal distribution |
| vonmisesvariate() | Return a random floating point number with von Mises distribution or circular normal distribution |
| paretovariate() | Return a random floating point number with a Pareto distribution |
| weibullvariate() | Return a random floating point number with Weibull distribution |
Random Module in Python Examples
Let’s discuss some common operations performed by Random module in Python.
Example 1: Printing a random value from a list in Python.
This code uses the random module to select a random element from the list list1 using the random.choice() function. It prints a random element from the list, demonstrating how to pick a random item from a sequence in Python.
import random
list1 = [1, 2, 3, 4, 5, 6]
print(random.choice(list1))
Output
3
Example 2: Creating random numbers with Python seed() in Python.
As stated above random module creates pseudo-random numbers. Random numbers depend on the seeding value. For example, if the seeding value is 5 then the output of the below program will always be the same. Therefore, it must not be used for encryption.
The code sets the random number generator’s seed to 5 using random.seed(5), ensuring reproducibility. It then prints two random floating-point numbers between 0 and 1 using random.random(). The seed makes these numbers the same every time you run the code with a seed of 5, providing consistency in the generated random values.
import random
random.seed(5)
print(random.random())
print(random.random())
Output
0.6229016948897019 0.7417869892607294
Generate Random Numbers in Python
random.randint() method is used to generate random integers between the given range.
Syntax: randint(start, end)Example: Creating random integers
This code uses the ‘random' module to generate random integers within specific ranges. It first generates a random integer between 5 and 15 (inclusive) and then between -10 and -2 (inclusive). The generated integers are printed with appropriate formatting.
import random
r1 = random.randint(5, 15)
print("Random number between 5 and 15 is % s" % (r1))
r2 = random.randint(-10, -2)
print("Random number between -10 and -2 is % d" % (r2))
Output
Random number between 5 and 15 is 10 Random number between -10 and -2 is -2
Generate Random Float numbers in Python
A random.random() method is used to generate random floats between 0.0 to 1.
Syntax: random.random()Example:
In this code, we are using the random function from the ‘random' module in Python. It prints a random floating-point number between 0 and 1 when you call random().
from random import random
print(random())
Output
0.8443722499369146
Randomly Select Elements from a List in Python
Random sampling from a list in Python (random.choice, and sample)
Example 1: Python random.choice() function is used to return a random item from a list, tuple, or string.
The code uses the random.choice() function from the random module to randomly select elements from different data types. It demonstrates selecting a random element from a list, a string, and a tuple. The chosen elements will vary each time you run the code, making it useful for random selection from various data structures.
import random
list1 = [1, 2, 3, 4, 5, 6]
print(random.choice(list1))
string = "geeks"
print(random.choice(string))
tuple1 = (1, 2, 3, 4, 5)
print(random.choice(tuple1))
Output
4 k 5
Example 2: Python random.sample() function is used to return a random item from a list, tuple, or string.
Syntax: random.sample(sequence, length)This code utilizes the sample function from the ‘random' module to obtain random samples from various data types. It selects three random elements without replacement from a list, a tuple, and a string, demonstrating its versatility in generating distinct random samples. With each execution, the selected elements will differ, providing random subsets from the input data structures.
from random import sample
list1 = [1, 2, 3, 4, 5]
print(sample(list1,3))
list2 = (4, 5, 6, 7, 8)
print(sample(list2,3))
list3 = "45678"
print(sample(list3,3))
Output
[4, 2, 3] [4, 7, 8] ['6', '4', '8']
Shuffle List in Python
A random.shuffle() method is used to shuffle a sequence (list). Shuffling means changing the position of the elements of the sequence. Here, the shuffling operation is inplace.
Syntax: random.shuffle(sequence, function)Example: Shuffling a List
This code uses the random.shuffle() function from the ‘random' module to shuffle the elements of a list named ‘sample_list'. It first prints the original order of the list, then shuffles it twice. The second shuffle creates a new random order, and the list’s content is displayed after each shuffle. This demonstrates how the elements are rearranged randomly in the list with each shuffle operation.
import random
sample_list = [1, 2, 3, 4, 5]
print("Original list : ")
print(sample_list)
random.shuffle(sample_list)
print("\nAfter the first shuffle : ")
print(sample_list)
random.shuffle(sample_list)
print("\nAfter the second shuffle : ")
print(sample_list)
Output
Original list : [1, 2, 3, 4, 5] After the first shuffle : [3, 2, 1, 5, 4] After the second shuffle : [2, 3, 1, 5, 4]
In this article we discussed about Python Random module, and also saw some examples of functions in random module in Python. Random module in Python is very important and contains very useful functions.
Hope this helps you in using Python Random module functions.
More on Python Modules:
Python Random Module – FAQs
What is a random module in Python?
The
randommodule in Python provides functions to generate pseudo-random numbers for various probabilistic distributions. It’s used in simulations, testing, gaming, and as a tool in statistical analyses to generate random data.
What is random vs Randint in Python?
random(): This function from therandommodule returns a random floating-point number between 0.0 and 1.0. It’s used when you need a uniform distribution of floating-point values.randint(a, b): This function returns a random integer between the specified integersaandb(inclusive). It’s useful when you need a random integer within a specific range.import random
print(random.random()) # Outputs a float between 0.0 and 1.0
print(random.randint(1, 10)) # Outputs an integer between 1 and 10
How many functions are there in the random module?
The
randommodule contains numerous functions, not just limited to basic randomness. Some of the key functions include:
randint()random()uniform()randrange()choice()sample()shuffle()These and other specialized functions support a variety of distributions and randomization processes.
What is the syntax of the random function?
The basic
random()function’s syntax in Python is simple, as it doesn’t require any arguments:import random
random_value = random.random()
print(random_value)This will output a random float between 0.0 and 1.0.
What is the difference between the math module and the random module?
- Math Module: This module provides access to mathematical functions for floating-point math, such as trigonometric functions, logarithms, and other common mathematical operations. It deals with deterministic functions that always return the same result for the same input values.
- Random Module: Unlike the math module, the random module focuses on generating pseudo-random numbers, which are crucial for simulations, games, random sampling, and other applications where unpredictability is required.
import math
import random
# Math module example
print(math.sqrt(16)) # Deterministically outputs 4.0
# Random module example
print(random.random()) # Outputs a random float each time it's calledTogether, these modules enhance Python’s capabilities in scientific computing and data analysis by providing tools for both deterministic calculations and stochastic processes.


