On Mar 7, 10:55 pm, "Rob" <[EMAIL PROTECTED]> wrote: > I can get a list of a function's arguments.>>> def bob(a, b): > > ... return a+b > ...>>> bob.func_code.co_varnames > > ('a', 'b') > > Let's say that I also have a dictionary of possible arguments for this > function. > > >>> possible = {'a':10, 'b':5, 'c':-3} > > How do I proceed to call bob(a=10, b=5) with this information? > > Thanks!
You can do this with a list comprehension: bob(*[possible[k] for k in bob2.func_code.co_varnames]) The LC creates a list of arg values in the same order as the var names for the function. Putting a * before the list when you call bob() turns that list into it's arguments. Alternativly (and this may not be useful) you can call a function with a dictionary of arguments: def bob(**kwargs): print kwargs possible = {'a' : 10, 'b':5, 'c':-3} >>> bob(**possible) {'a': 10, 'c': -3, 'b': 5} >>> Tom -- http://mail.python.org/mailman/listinfo/python-list