Manchmal kann es nötig sein, dass man einen String beliebig mischt. Über random.shuffle ist das sehr einfach und schnell möglich:
1 def random_ascii(text, seed):
2 from random import Random
3 rnd = Random(seed)
4 l = list(text)
5 rnd.shuffle(l)
6 return ''.join(l)
7
8 print random_ascii('1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ', '1234')
Ergebnis: 3KUJL9I2YHGO5C0FZNVTXQRBMEDW867A4PS1
Erwähnenswert ist, das random.shuffle reproduzierbar den String durchwürfelt. Das hängt von dem seed Wert ab. Um einen recht zufälligen seed zu erhalten kann man z.B. time.clock() nehmen.
Entnommen aus RandomAscii - Durchwürfelt einen kleinen Text....