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

时间:2010-05-03 04:30:28

标签: python list arguments

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

args = str(raw_input('>> ')).split()
com = args.pop(0)

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

commands[com]()

但是,如果命令有多个参数,我希望这样:

commands[com](args[0],args[1])

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

1 个答案:

答案 0 :(得分:13)

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

commands[com](*args)