Or you could use actual sets:

>>> colors = set(['red', 'green', 'blue', 'orange', 'fuscia', 'black',
'white'])
>>> subset = set(['red', 'green', 'blue', 'purple'])
>>> subset.intersection(colors)
set(['blue', 'green', 'red'])

Of course, this loses your ordering, but it's otherwise far easier to read
than a list comprehension.

-Chris

On Fri, Oct 29, 2010 at 9:19 AM, Dan Ross <d...@rosspixelworks.com> wrote:

> Indeed. That's awfully nice and concise.
>
> On Fri, 29 Oct 2010 09:14:06 -0700, Christopher Barker
> <chris.bar...@noaa.gov> wrote:
> > On 10/29/10 7:56 AM, Dan Ross wrote:
> >  > I've been trying to use more list comprehensions recently.
> >
> > ahh -- then you want something like:
> >
> > In [15]: colors =
> ['red','green','blue','orange','fuchsia','black','white']
> >
> > In [16]: subset = ['red','green','blue','purple']
> >
> > In [17]: [c for c in colors if c in subset]
> >
> > Out[17]: ['red', 'green', 'blue']
> >
> >
> > (so much for one obvious way to do it!)
> >
> > -Chris
> _______________________________________________
> Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
> http://mail.python.org/mailman/listinfo/pythonmac-sig
> unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG
>
_______________________________________________
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig
unsubscribe: http://mail.python.org/mailman/options/Pythonmac-SIG

Reply via email to