按随机顺序做事?

tkb*_*kbx 2 python random

Python中有没有办法以随机顺序执行操作?说我想运行function1(),function2()function3(),但在为了不necessarilly,莫非是做什么?显而易见的答案是制作一个列表并随机选择它们,但是如何从列表中获取函数名称并实际运行它?

Gar*_*tty 15

这实际上非常简单.Python函数只是对象,碰巧是可调用的.因此,您可以将它们存储在列表中,然后使用call运算符(())调用它们.

制作你的功能列表,随机播放random.shuffle(),然后循环,调用它们.

to_call = [function1, function2, function3]
random.shuffle(to_call)
for f in to_call:
    f()
Run Code Online (Sandbox Code Playgroud)

如果您想存储返回的值,可以将它们添加到列表中,这样可以很好地解决列表推导问题:

returned_values = [f() for f in to_call]
Run Code Online (Sandbox Code Playgroud)