Shuffling a list of objects
list, python, random, shuffle
Solution
`random.shuffle` should work. Here's an example, where the objects are lists:
from random import shuffle
x = [[i] for i in range(10)]
shuffle(x)
print(x)
# print(x) gives [[9], [2], [7], [0], [4], [5], [3], [1], [8], [6]]
Note that `shuffle` works in place, and returns `None`.
More generally in Python, mutable objects can be passed into functions, and when a function mutates those objects, the standard is to return `None` (rather than, say, the mutated object).
Problem
How do I shuffle a list of objects? I tried `random.shuffle`: ``` import random b = [object(), object()] print(random.shuffle(b)) ``` But it outputs: ``` None ```