When writing some code now, I needed to produce a shuffled version of `range(10, 10 ** 5)`.

This is one way to do it: 

shuffled_numbers = list(range(10, 10 ** 5))
random.shuffle(shuffled_numbers)

I don't like it because (1) it's too imperative and (2) I'm calling the list "shuffled" even before it's shuffled.

Another solution is this: 

shuffled_numbers = random.sample(range(10, 10 ** 5), k=len(range(10, 10 ** 5)))

This is better because it solves the 2 points above. However, it is quite cumbersome.

I notice that the `random.sample` function doesn't have a default behavior set when you don't specify `k`. This is fortunate, because we could make that behavior just automatically take the length of the first argument. So we could do this: 

shuffled_numbers = random.sample(range(10, 10 ** 5))

What do you think? 


Thanks,
Ram.