在python中随机播放一个元组

时间:2015-03-10 07:43:41

标签: python

我在测试环境中定义了一个名为states的元组。然后,当我测试我的系统时,我希望以随机的方式逐步完成这个元组:

st = time.time()
for s in sorted(states,key=lambda k: random.random()):
    my_system.set_state(s)
    test.confirm_state(s) 

每个州只应该访问一次。这是改变我的元组的最pythonic方式吗?

1 个答案:

答案 0 :(得分:4)

Python附带电池。在序列上使用random.shuffle

您必须意识到random.shuffle在可变序列上运行,这就是为什么它不会返回列表本身。

l = list(states)
random.shuffle(l) # random.shuffle is returning None
for x in l:
    # do stuff