PRC schrieb:
> Hi folks,
> 
> I have a tuple of tuples, in the form--> ((code1, 'string1'),(code2,
> 'string2'),(code3, 'string3'),)
> 
> Codes are unique. A dict would probably be the best approach but this
> is beyond my control.
> 
> Here is an example:
>>>> pets = ((0,'cat'),(1,'dog'),(2,'mouse'))
> 
> If I am given a value for the code I need to retrieve the string
> representation. The value is guaranteed to be valid.
> 
> This is what I came up with...
> 
>>>> value=1
>>>> [ pet for code, pet in pets if value==code ][0]
> 'dog'
> 
> It does the job, I was just curious if there was a better way to do
> it.
> 

This is linear in the number of elements. It can get better (log_2 n) if 
you can rely on the order of codes as in your given example - then you 
should be able to use the module bisect to find the index quicker.

Diez
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to