why should dict not be callable?
robert.kern at gmail.com
Tue Oct 17 21:37:06 CEST 2006
georgeryoung at gmail.com wrote:
> A couple of times recently I've come across this problem: I have a
> large list to sort and I need to the the "key=function" argument to
> sort appropriately. But I actually have the key mapping in a big
> dictionary. Now I have to make an intermediary function:
> def key_fn(key):
> return key_dict[key]
> If a dict were callable directly, this would be unnecessary. Often the
> small extra complexity and compute time is not important, but in
> sorting a large list, it could be a significant difference. Is there
> some reason a subscriptable thing like a dict should *not* be callable?
Because you can pass key_dict.get instead. Or even key_dict.__getitem__ if you
don't want the default=None behavior of the .get() method.
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
More information about the Python-list