3

使用 python,我如何评估具有相关参数的函数字典。更具体地说,键是函数,值是参数列表。

例如,考虑字典:

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

我将如何迭代要计算的函数:

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

4 回答 4

8
for func, args in the_dictionary.items():
    func(*args)
于 2013-08-15T18:33:52.273 回答
2

列表中的参数可以通过在它们前面附加一个星号来解包。然后他们的行为就好像他们是按顺序一次提供一个一样。

for func in func_args.keys():
    func(*(func_args[func]))
于 2013-08-15T18:40:15.797 回答
2

交替:

for key in dct:
    key(*dct[key])
于 2013-08-15T18:40:39.607 回答
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)
于 2013-08-15T18:39:03.630 回答