Any way to use a range as a key in a dictionary?
Duncan Booth
duncan.booth at invalid.invalid
Fri Mar 27 16:06:51 EDT 2009
Carl Banks <pavlovevidence at gmail.com> wrote:
> On Mar 27, 11:20 am, Paul Rubin <http://phr...@NOSPAM.invalid> wrote:
>> Carl Banks <pavlovevide... at gmail.com> writes:
>> > > if x in theDict:
>> > > print x, v
>>
>> > Where does v come from?
>>
>> Oops, pasted from original. Meant of course "print x, theDict[x]".
>
> You have look up x twice with that code, whereas you wouldn't have to
> with this:
>
> v = theDict.get(x)
> if v is not None:
> print x, v
>
Note that while you only lookup x in the dict once your code does still
involve two dict lookups: once to lookup the get method and once to lookup
x. It also involves creating a new bound method object so if performance is
a concern you'll find that either the 'if x in theDict: ...' or the
try...except are likely to be faster.
More information about the Python-list
mailing list