您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

带有种子的Python随机序列

带有种子的Python随机序列

import random
SEED = 448

myList = [ 'list', 'elements', 'go', 'here' ]
random.seed(SEED)
random.shuffle(myList)

print myList

结果是

['here', 'go', 'list', 'elements']

您的列表现已伪随机化。

“伪”很重要,因为所有具有相同种子和项目数的列表将以相同的“随机”顺序返回。我们可以用它来改变您的清单;如果它确实是随机的,那将是不可能的。

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

结果是

['list', 'elements', 'go', 'here']

多田 originalList现在是myList的原始顺序。

python 2022/1/1 18:44:08 有311人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶