Lists of lists and tuples, and finding things within them

dakman at gmail.com dakman at gmail.com
Thu Nov 9 13:14:16 EST 2006


<LameJoke>
 Thanks Captain Obvious!
</LameJoke>
Daniel Nogradi wrote:
> > 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