I have a python function bar(a=None, b=None, c=None, d=None, e=None)
. I was wondering if it was possible to build the list of arguments I want to pass in, with a list or a string, or something.
I would have a list of attributes to look for and ideally I would simply loop over them and build the argument string.
For example, something like:
dict = {'a' : 5, 'c' : 3, 'd' :9}
arg_string = ""
for k, v in dict.iteritems():
arg_string += "{0}={1},".format(k, v)
bar(arg_string)
In this case I don't have any values to pass in for b and e, but the next time the program runs there may be.
Is this possible?
I know the string being built in the for loop will probably be invalid because of the comma at the end. But i didn't think it was necessary to write the handling for that
The good news is that you don't even need a string. . .
mapping = {'a': 5, 'c': 3, 'd': 9}
bar(**mapping)
should work. See the Unpacking Argument Lists (and surrounding material) in the official python tutorial.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With