When you want to iterate sequentially over a list of numbers you will write:
for i in range(1000):
# do something with i
But what if you want to iterate over the list of numbers from the range (0..999) randomly? There is a need (in every iteration) to choose randomly the number that wasn't chosen in any previous iteration and there is a need to iterate over all of the numbers from the range (0..999).
Do you know how to do that (smart)?