Manchmal kann es ganz nützlich sein, wenn man einen Iterator per Zufall neu sortiert. Dazu kann diese Funktion nützlich sein:
1 def randomized(iterable, seed=None):
2 iterable = list(iterable)
3 if seed is None:
4 from random import shuffle
5 shuffle(iterable)
6 else:
7 from random import Random
8 Random(seed).shuffle(iterable)
9 return iter(iterable)
Aufgerufen wird das ganze dann beispielsweise so:
1 for item in randomized(xrange(10)):
2 print item