import random
SEED = 448
myList = [ 'list', 'elements', 'go', 'here' ]
random.seed(SEED)
random.shuffle(myList)
print myList
結果が今pseudorandomizedされます。
同じシードとアイテム数を持つすべてのリストが同じ 'ランダム'の順序で返されるため、 '疑似'が重要です。これを使用してリストをシャッフル解除することができます。本当にランダムであれば、これは不可能です。
['list', 'elements', 'go', 'here']
で
Order = list(range(len(myList)))
# Order is a list having the same number of items as myList,
# where each position's value equals its index
random.seed(SEED)
random.shuffle(Order)
# Order is now shuffled in the same order as myList;
# so each position's value equals its original index
originalList = [0]*len(myList) # empty list, but the right length
for index,originalIndex in enumerate(Order):
originalList[originalIndex] = myList[index]
# copy each item back to its original index
print originalList
結果
多田! originalListはmyListの元の順序になりました。
http://docs.python.org/release/2.6.6/library/random.htmlあなたが知る必要があることをすべて教えてくれます。 –
@Rafe前に読んだことがありますが、理解できませんでした – Favolas