Better way to do this?

imho certo at comeno.it
Mon Feb 11 15:57:42 EST 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]
'dog'





More information about the Python-list mailing list