是否可以运行列表中的命令?

Pig*_*ist 6 python python-3.x

我正在尝试制作一个程序,它将选择一个随机数,并对该数字运行相应的命令.我将多个命令放在列表中,如下所示

list = [cmd1(), cmd2(), cmd3(), cmd4()]
x = randint(0, len(list-1))
list[x]
Run Code Online (Sandbox Code Playgroud)

有没有办法以这种方式运行命令?(我使用的是python 3.5)

Reb*_*que 11

是的,函数和方法是第一类对象,你可以分配它们,将它们作为参数传递,等等......:

commands = [cmd1, cmd2, cmd3, cmd4]        # omit the parenthesis (call)
current_command = random.choice(commands)
current_command()
Run Code Online (Sandbox Code Playgroud)