Note: This site is currently "Under construction". I'm migrating to a new version of my site building software. Lots of things are in a state of disrepair as a result (for example, footnote links aren't working). It's all part of the process of building in public. Most things should still be readable though.

Shuffle/Randomize A List In Python

### Shuffle A List In Place

The basic way to shuffle a list is:

Code

#!/usr/bin/env python3

import random

list = ['a', 'b', 'c', 'd', 'e']

random.shuffle(list)

print(list)

The list is shuffled in place and the output of the above script will be something like:

Code

['c', 'e', 'a', 'b', 'd']

### Shuffle Items Into A New List

If you want to keep the original list in place, you can use `random.sample` to make a new list with the shuffled contents like this:

Code

#!/usr/bin/env python3

import random

original_list = ['a', 'b', 'c', 'd', 'e']

new_list = random.sample(original_list, len(original_list))

print(original_list)
print(new_list)