Tino Dai wrote:
> I am wondering about a short cut to doing this. Let's say that we
> have an array:
>
> dbs= ['oracle','mysql','postgres','infomix','access']
>
> and we wanted to do this:
>
> if 'oracle' in dbs or 'mysql' in dbs or 'bdb' in dbs:
> <... do something ...>
>
> Is there a short way or writing this? Something like
> ('oracle','mysql','bdb') in dbs
Sets to the rescue. Set intersection specifically:
>>> dbs = set(['oracle','mysql','postgres','infomix','access'])
>>> mine = set(['oracle','mysql','bdb'])
>>> dbs & mine
set(['oracle', 'mysql'])
>>> if dbs & mine:
... print 'doing something'
...
doing something
>>>
This also has the advantage of returning to you an object of exactly
what elements in mine were in dbs. And difference:
>>> dbs - mine
set(['access', 'infomix', 'postgres'])
>>>
will show you which elements of mine were not in dbs.
--
Sincerely,
Chris Calloway
http://www.seacoos.org
office: 332 Chapman Hall phone: (919) 962-4323
mail: Campus Box #3300, UNC-CH, Chapel Hill, NC 27599
_______________________________________________
Tutor maillist - [email protected]
http://mail.python.org/mailman/listinfo/tutor