0

I have a dictionary in python,

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

I want to call a function which takes a, b, c, d and e parameters -

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

The parameters a, b, c, d is what I want to use while calling the function, and not e, and those parameter names are defined in that dictionary.

How can I parse the dictionary values and use them as named parameters in the function, while passing some values to each one of them?

Eg:

I can get named parameter a, by doing this -

mapper['my_func'][0]

But how to use that value as a named parameter in the above function?

Any help?

jpp
  • 159,742
  • 34
  • 281
  • 339
Aakash Basu
  • 1,689
  • 7
  • 28
  • 57

1 Answers1

2

You can do this in a couple of steps:

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
jpp
  • 159,742
  • 34
  • 281
  • 339