When passing functions as args,
mwilson at the-wire.com
Wed Sep 17 14:14:11 CEST 2003
In article <mailman.1063746594.3920.python-list at python.org>,
python at sarcastic-horse.com wrote:
>When I pass a function as an arg, like for map(...), how do I pass args to
>use for that function?
>If I have a function like this:
>def pretty_format(f, fmt='%0.3f'):
> return fmt % f
>I want to use it with map() like this:
>formatted = map(pretty_format, unformatted_list)
>#exept I want fmt='%4.5f' !!!
>I need to figure out how to pass a non-default value for fmt. How do I do
map (lambda x: pretty_format (x, '%4.5f'), unformatted_list)
[pretty_format (x, '%4.5f') for f in unformatted_list]
should do the trick. Actually filling in the default
argument is not simple, and probably isn't radically better
than the above.
Unless you're going to put more functionality into
pretty_format, or you have some other reason to centralize
['%4.5f' % x for x in unformatted_list]
might be best of all.
More information about the Python-list