Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in Python by (45.3k points)

I'd like to call a function in python using a dictionary.

Here is some code:

d = dict(param='test')

def f(param):

    print(param)

f(d)

This prints {'param': 'test'} but I'd like it to just print test.

I'd like it to work similarly for more parameters:

d = dict(p1=1, p2=2)

def f2(p1, p2):

    print(p1, p2)

f2(d)

Is it possible?

1 Answer

0 votes
by (16.8k points)

You are just missing this operator ** for unpacking your dictionary:

So, here it becomes like this:

d = dict(p1=1, p2=2)

def f2(p1,p2):

    print p1, p2

f2(**d)

Related questions

Browse Categories

...