A question of style (finding item in list of tuples)
Steven D'Aprano
steve+comp.lang.python at pearwood.info
Mon May 21 09:10:32 EDT 2012
On Mon, 21 May 2012 08:37:29 -0400, Roy Smith wrote:
[...]
> The above code works, but it occurs to me that I could use the much
> shorter:
>
> def experience_text(self):
> return dict(CHOICES).get("self.level", "???")
>
> So, the question is, purely as a matter of readability, which would you
> find easier to understand when reading some new code?
Definitely the dictionary lookup.
Rather than convert list CHOICES to a dict every time, you might convert
it to a dict *once*, then just write:
return CHOICES.get(self.level, "???")
> Assume the list
> of choices is short enough that the cost of building a temporary dict on
> each call is negligible.
Negligible or not, why bother?
Not that it really matters -- if you have a good reason for CHOICES to
remain a list, still stick with the dict lookup rather than a explicit
loop.
--
Steven
More information about the Python-list
mailing list