Open In App

Python Random Module

Last Updated : 17 May, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

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.

Applications of Python Random Module

Here are some real-life uses of Python's random module:

  1. Games (dice rolls, card draws)
  2. Simulations (traffic, finance, etc.)
  3. Data sampling
  4. Machine learning dataset splitting
  5. Generating passwords or session tokens
  6. Software testing and stress testing

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

Examples of Random Module

Example 1: Pick a Random Element from a List

Selects a single random item from a list using random.choice().

Python
import random
a = [1, 2, 3, 4, 5, 6]
print(random.choice(a))

Output
3

Example 2: Using seed() for Reproducible Output

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). It then prints two random floating-point numbers between 0 and 1 using random.random(). The seed makes these numbers the same every time we run the code with a seed of 5.

Python
import random
random.seed(5)
print(random.random())
print(random.random())

Output
0.6229016948897019
0.7417869892607294

Example 3: Generate Random Integers in a Range

random.randint() method is used to generate random integers between the given range.

Syntax: randint(start, end)

Python
import random
r1 = random.randint(5, 15)
print(r1)

r2 = random.randint(-10, -2)
print(r2)

Output
8
-7

Explanation:

  • r1 is a andom number between 5 and 15.
  • r2 is a random number between -10 and -2.

Example 4: Generate a Random Float Between 0 and 1

A random.random() method is used to generate random floats between 0.0 to 1.

Syntax: random.random()

Python
from random import random
print(random())

Output
0.8443722499369146

Explanation: random() generates a float number in the range [0.0, 1.0).

Example 5: Randomly Select from List, String, and Tuple

Shows how to use choice() with different sequence types.

Python
import random

a = [1, 2, 3, 4, 5, 6]
print(random.choice(a))

s = "geeks"
print(random.choice(s))

tup = (1, 2, 3, 4, 5)
print(random.choice(tup))

Output
2
g
2

Explanation: choice() picks a random element from a list, string, or tuple.

Example 6: Select Multiple Unique Random Items

this example demonstrates the use of sample() to pick multiple items from sequences without repeating.

Syntax: random.sample(sequence, length)

Python
from random import sample

a = [1, 2, 3, 4, 5]
print(sample(a,3))

b = (4, 5, 6, 7, 8)
print(sample(b,3))

c = "45678"
print(sample(c,3))

Output
[4, 2, 3]
[4, 7, 8]
['6', '4', '8']

Explanation: sample() returns a list of unique random elements from the input sequence.

Example 7: Shuffle Elements in a List

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.

Python
import random
a = [1, 2, 3, 4, 5]

random.shuffle(a)
print("After shuffle : ")
print(a)

random.shuffle(a)
print("\nSecond shuffle : ")
print(a)

Output
After shuffle : 
[1, 4, 2, 5, 3]

Second shuffle : 
[1, 4, 3, 5, 2]

Explanation: shuffle() changes the order of elements in the list randomly, in-place.

Related articles:


Article Tags :
Practice Tags :

Similar Reads