如何从字典中获取字符串并将其用作任何函数中的命名参数?

时间:2018-04-23 11:05:03

标签: python dictionary functional-programming named-parameters

我在python中有一本字典,

mapper = {'my_func': ['a', 'b', 'c', 'd']}

我想调用一个带a,b,c,d和e参数的函数 -

functn(a, b, c, d, e=None)

参数a,b,c,d是我在调用函数时想要使用的,而不是e,并且那些参数名称在该字典中定义。

如何解析字典值并将它们用作函数中的命名参数,同时将一些值传递给它们中的每一个?

例如:

我可以通过这样做获得命名参数a -

mapper['my_func'][0]

但是如何在上面的函数中使用该值作为命名参数?

任何帮助?

1 个答案:

答案 0 :(得分:2)

您可以通过以下几个步骤完成此操作:

mapper = {'my_func': [1, 2, 3, 4]}

def functn(v, w, x, y, z):
    return v + w + x + y + z

# create dictionary of arguments to values
d = {**dict(zip(list('vwxy'), mapper['my_func'])), **{'z': 5}}

# unpack dictionary for use in function
res = functn(**d)  # 15