Better way to do this?

imho certo at
Mon Feb 11 21:57:42 CET 2008

PRC ha scritto:
> 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.

Can't You first convert the tuple of tuples in a dict, and then 
retrieving the value given a code value ?

 >>> dct = dict(pets)
 >>> dct[1]

More information about the Python-list mailing list