On Thu, Sep 16, 2010 at 12:27 PM, Michael Powe <mich...@trollope.org> wrote:
> Hello, > > I have two lists. > > alist = ['label', 'guid'] > > blist = ['column0label', 'column1label', 'dimension0guid', > 'description', 'columnid'] > > I want to iterate over blist and extract the items that match my > substrings in alist; alternatively, throw out the items that aren't in > alist (but, I've had bad experiences removing items from lists "in > place," so I tend toward the "copy" motif.) > > In real life, blist column entries could have embedded column numbers > from 0 to 19. > > I can do this with excrutiatingly painful 'for' loops. Looking for > something more efficient and elegant. > > Thanks. > > mp > > -- > Michael Powe mich...@trollope.org Naugatuck CT USA > > "The secret to strong security: less reliance on secrets." > -- Whitfield Diffie > > _______________________________________________ > Tutor maillist - Tutor@python.org > To unsubscribe or change subscription options: > http://mail.python.org/mailman/listinfo/tutor > > Michel, One solution is to use list comprehensions. newlist = [x for x in blist if [a for a in alist if a in x]] This works, although there may be more efficient ways to accomplish this Vince
_______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor