Lists of lists and tuples, and finding things within them

Daniel Nogradi nogradi at gmail.com
Thu Nov 9 19:06:52 CET 2006


> I have a program that keeps some of its data in a list of tuples.
> Sometimes, I want to be able to find that data out of the list.  Here is
> the list in question:
>
> [('password01', 'unk'), ('host', 'dragonstone.org'), ('port', '1234'),
> ('character01', 'Thessalus')]
>
> For a regular list, I could do something like x.index('host') and find
> the index of it, but I don't know how to do this for a tuple where the
> data item isn't known in advance.  For example, I want to get the "host"
> entry from the list above; but I can only retrieve it if I know what it
> contains (e.g., x.index(('host', 'dragonstone.org'))).
>
> Is there a better way to do this than a construct similar the following?
>
> for key, value in x:
>     if key == 'host':
>         print value
>

If I were you I would use a dictionary for such a thing:

mydict = dict( password01='unk', host='dragonstone.org', port='1234',
character01='Thessalus' )

And then you would look up host by:

mydict[ 'host' ]

HTH,
Daniel



More information about the Python-list mailing list