Skip to content

RESOURCES / BLOG

What’s the Best Way to Use Python’s Random Module?

Hey everyone,

I’m working on a Python script where I need to randomly select a few images from a large list of URLs (hosted on Cloudinary) to feature on a homepage carousel. I’ve come across the random module in Python, but I’m a little confused about all the different functions like random(), choice(), shuffle(), and randint().

Can someone explain how Python’s random module works and how to use it effectively in real-life use cases, like picking random images or simulating data?

Thanks in advance!

Great question! The Python random module is powerful and surprisingly versatile. Whether you’re building image carousels, generating placeholder content, running simulations, random is your go-to utility.

Let’s explore how to use Python’s random module functions, especially in scenarios involving image data, files, and APIs.

First things first:

import random

This module comes built into Python, so there’s no need to install anything.

Let’s assume you’re working with a list of Cloudinary-hosted image URLs:

images = [

    "https://res.cloudinary.com/demo/image1.jpg",

    "https://res.cloudinary.com/demo/image2.jpg",

    "https://res.cloudinary.com/demo/image3.jpg",

    "https://res.cloudinary.com/demo/image4.jpg"

]Code language: JavaScript (javascript)

Here’s how to use the random module in this context.

selected = random.choice(images)

print("Featured image:", selected)Code language: PHP (php)
  • Picks one element from a list.
  • Raises IndexError if the list is empty.

Perfect for selecting one random image for a banner or email thumbnail.

featured_images = random.sample(images, 2)

print("Selected images:", featured_images)Code language: PHP (php)
  • Returns N unique elements.
  • Raises ValueError if N > len(images).

Great for homepage sliders, gallery carousels, or A/B testing variants.

random.shuffle(images)

print("Shuffled image order:", images)Code language: CSS (css)
  • Changes the list’s order randomly.
  • Doesn’t return a new list, it modifies the original.

Use when rotating content, randomizing display order, or testing sort logic.

index = random.randint(0, len(images) - 1)

print("Random image:", images[index])Code language: PHP (php)
  • Returns a random integer between a and b, inclusive.
  • Use when manually indexing a list or generating IDs.

Also handy for generating random filenames or tags.

  • random.random() – Returns a float between 0 and 1.
  • random.uniform(a, b) – Random float between a and b.
  • random.randrange(start, stop, step) – Like range() but random.

Example:

opacity = random.uniform(0.5, 1.0)

print("Random image overlay opacity:", opacity)Code language: PHP (php)
def get_random_placeholder():

    placeholders = [

        "https://res.cloudinary.com/demo/placeholder1.jpg",

        "https://res.cloudinary.com/demo/placeholder2.jpg",

        "https://res.cloudinary.com/demo/placeholder3.jpg"

    ]

    return random.choice(placeholders)

# Simulate 5 uploads with random placeholders

for _ in range(5):

    print("Uploading placeholder:", get_random_placeholder())Code language: PHP (php)

This approach is perfect for development environments or mocking dynamic content.

tags = ["summer", "portfolio", "demo", "profile"]

for _ in range(3):

    tag = random.choice(tags)

    print("Uploading image with tag:", tag)Code language: PHP (php)

Useful for testing tag-based filtering or Cloudinary transformations by context.

FunctionDescriptionUse Case
random.choice()Randomly selects one item from listPick 1 image
random.sample()Selects multiple unique itemsGallery or carousel
random.shuffle()Shuffles a list in placeRandomize order of images
random.randint()Returns random int (inclusive range)Select by index, create IDs
random.uniform()Returns float between a and bRandom size/opacity values
random.random()Float from 0.0 to 1.0Probability tests, transitions

For sensitive operations like API keys or image access tokens, use secrets instead of random:

import secrets

token = secrets.token_urlsafe(16)

print("Secure token:", token)Code language: JavaScript (javascript)

This ensures cryptographic security, something random is not designed for.

If you want repetition allowed, use random.choices():

# Can repeat items

print(random.choices(images, k=3))Code language: PHP (php)

But for unique items only, stick with random.sample().

The Python random module is much more than just a toy, it’s incredibly useful for real-world applications, especially in media workflows:

  • Randomly test Cloudinary transformations.
  • Build dynamic UI image layouts.
  • Create randomized content for email marketing.
  • Shuffle and sample from lists of assets and URLs.

With just a few lines of code, random can add variability, realism, and flexibility to your applications.

Start Using Cloudinary

Sign up for our free plan and start creating stunning visual experiences in minutes.

Sign Up for Free