Python中有什么方法可以按随机顺序执行操作吗?说我想运行function1()
,function2()
和function3()
,但不是必须按顺序运行,可以这样做吗?显而易见的答案是制作一个列表并随机选择它们,但是如何从列表中获取函数名称并实际运行它?
答案 0 :(得分:15)
这实际上非常简单。 Python函数只是对象,碰巧是可调用的。因此,您可以将它们存储在列表中,然后使用调用运算符(()
)调用它们。
制作你的功能列表,用random.shuffle()
对它们进行随机播放,然后循环调用它们。
to_call = [function1, function2, function3]
random.shuffle(to_call)
for f in to_call:
f()
如果您想存储返回的值,可以将它们添加到列表中,这样就可以为list comprehension提供良好的理由:
returned_values = [f() for f in to_call]