我在测试环境中定义了一个名为states
的元组。然后,当我测试我的系统时,我希望以随机的方式逐步完成这个元组:
st = time.time()
for s in sorted(states,key=lambda k: random.random()):
my_system.set_state(s)
test.confirm_state(s)
每个州只应该访问一次。这是改变我的元组的最pythonic方式吗?
答案 0 :(得分:4)
Python附带电池。在序列上使用random.shuffle
。
您必须意识到random.shuffle
在可变序列上运行,这就是为什么它不会返回列表本身。
l = list(states)
random.shuffle(l) # random.shuffle is returning None
for x in l:
# do stuff