Hey! If you love Python and building Python apps as much as I do, let's connect on Twitter or LinkedIn. I talk about this stuff all the time!

How to Randomise a List in Python

Learn how to randomize a list in Python with our easy-to-follow tutorial. Get the most out of your data by understanding the importance of randomness in programming. …


Updated May 9, 2023

Learn how to randomize a list in Python with our easy-to-follow tutorial. Get the most out of your data by understanding the importance of randomness in programming.

Body

Definition: What is Randomising a List?

Randomising a list in Python means rearranging its elements in a random order. This can be useful for tasks like shuffling a deck of cards, generating a randomized test dataset, or even creating a game where items are randomly assigned to players.

Why Do We Need to Randomise Lists in Python?

In many real-world applications, randomness is crucial. For instance, when creating simulations, you might need to introduce random variations to make the results more realistic. In data analysis, randomizing a dataset can help prevent overfitting and improve model generalizability.

Step-by-Step Guide: How to Randomise a List in Python

Here’s how you can do it:

Method 1: Using the random.shuffle() Function

The easiest way to randomize a list is by using the built-in random.shuffle() function. This method modifies the original list, so be sure not to use this method if you need to preserve the original order of elements.

import random

# Create a sample list
my_list = [1, 2, 3, 4, 5]

# Print the original list
print("Original List:", my_list)

# Randomize the list using shuffle()
random.shuffle(my_list)

# Print the randomized list
print("Randomized List:", my_list)

Method 2: Using the random.sample() Function

If you need to create a new list with elements randomly selected from an existing list, use the random.sample() function. This method does not modify the original list.

import random

# Create a sample list
my_list = [1, 2, 3, 4, 5]

# Print the original list
print("Original List:", my_list)

# Randomly select elements from the list without replacement
randomized_list = random.sample(my_list, len(my_list))

# Print the randomized list
print("Randomized List:", randomized_list)

Method 3: Using List Comprehension and the random.randint() Function

You can also use a combination of list comprehension and the random.randint() function to create a new list with elements in a random order. This method does not modify the original list.

import random

# Create a sample list
my_list = [1, 2, 3, 4, 5]

# Print the original list
print("Original List:", my_list)

# Use list comprehension and randint() to create a new randomized list
randomized_list = [random.randint(0, len(my_list) - 1) for _ in range(len(my_list))]

# Sort the new list based on its indices
randomized_list.sort()

# Print the randomized list
print("Randomized List:", randomized_list)

Conclusion

In this tutorial, we’ve covered three methods for randomizing a list in Python: using random.shuffle(), random.sample(), and a combination of list comprehension with random.randint(). Each method has its own use case, so it’s essential to choose the one that best fits your specific needs.

Stay up to date on the latest in Python, AI, and Data Science

Intuit Mailchimp