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.