python使用字典给出的参数计算函数

时间:2013-08-15 18:32:57

标签: python dictionary functional-programming

使用python如何使用其关联参数来评估函数字典。更具体地说,键是函数,值是参数列表。

例如,考虑字典:

{f1: [a, b, c], f2: [q], f3: [5, c]}

我如何迭代计算的函数:

f1(a, b, c)
f2(q)
f3(5, c)

4 个答案:

答案 0 :(得分:8)

for func, args in the_dictionary.items():
    func(*args)

答案 1 :(得分:2)

列表中的参数可以通过在它们的前面附加星号来解压缩。然后他们表现得像是按顺序一次提供一个。

for func in func_args.keys():
    func(*(func_args[func]))

答案 2 :(得分:2)

可替换地:

for key in dct:
    key(*dct[key])

答案 3 :(得分:1)

尝试一下:

def f1(x, y, z):
    print 'f1', x, y, x

def f2(x):
    print 'f2', x

def f3(x, y):
    print 'f2', x, y

myDict = { 'f1': ['a', 'b', 'c'], 'f2': ['q'], 'f3': [5, 'c'] }

for k, v in myDict.items():
    globals()[k](*v)