[Tutor] search a tuple of tuples
johnf
jfabiani at yolo.com
Sun Jan 21 21:17:36 CET 2007
On Sunday 21 January 2007 10:30, you wrote:
> johnf wrote:
> > Hi,
> > I want to find a item within a large tuple that contains tuples.
> > mytuple = (('name',123,'value'),('first',345,'newvalue'))
> > so a 'for loop' works
> > istrue = False
> > for i in range(len(mytuple)):
> > if 'first' in mytuple[i]:
>
> This is better written as iteration over mytuple directly, there is no
> need for the index:
> for t in mytuple:
>
> if 'first' in t:
> > istrue = True
> > break
> > if istrue:
> > print " true"
> >
> > Is possible to use a generator or list comp. All I want to know is it
> > True or False that mytuple contains 'first'.
>
> Use any() in Python 2.5:
>
> In [1]: mytuple = (('name',123,'value'),('first',345,'newvalue'))
>
> In [2]: help(any)
> Help on built-in function any in module __builtin__:
>
> any(...)
> any(iterable) -> bool
>
> Return True if bool(x) is True for any x in the iterable.
>
> In [5]: any('first' in x for x in mytuple)
> Out[5]: True
>
> In [6]: mytuple = (('name',123,'value'),('last',345,'newvalue'))
>
> In [7]: any('first' in x for x in mytuple)
> Out[7]: False
>
> Kent
Perfect thanks for the help!
--
John Fabiani
More information about the Tutor
mailing list