我在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]
但是如何在上面的函数中使用该值作为命名参数?
任何帮助?
答案 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