将列表的元素作为参数传递给python中的函数

Wil*_*uck 8 python arguments list

我正在python中构建一个简单的解释器,我在处理函数的不同数量的参数时遇到了麻烦.我目前的方法是获取命令/参数列表,如下所示.

args = str(raw_input('>> ')).split()
com = args.pop(0)
Run Code Online (Sandbox Code Playgroud)

然后执行com,我检查它是否在我的命令 - >代码映射字典中,如果是,我调用我存储在那里的函数.对于没有参数的命令,这看起来像:

commands[com]()
Run Code Online (Sandbox Code Playgroud)

但是,如果一个命令有多个参数,我会想要这个:

commands[com](args[0],args[1])
Run Code Online (Sandbox Code Playgroud)

有没有一些技巧我可以将我的arg列表的一些(或全部)元素传递给我试图调用的函数?或者有没有更好的方法来实现它而不必使用python的cmd类?

Juh*_*nen 13

尝试将列表解压缩为位置参数:

commands[com](*args)
Run Code Online (Sandbox Code Playgroud)