yet another list comprehension question

CTO debatem1 at gmail.com
Sun May 3 04:25:03 CEST 2009


On May 2, 10:13 pm, Ross <ross.j... at gmail.com> wrote:
> I'm trying to set up a simple filter using a list comprehension. If I
> have a list of tuples, a = [(1,2), (3,4), (5,None), (6,7), (8, None)]
> and I wanted to filter out all tuples containing None, I would like to
> get the new list b = [(1,2), (3,4),(6,7)].

try this:

b = [i for i in a if None not in i]

> I tried b = [i for i in a if t for t in i is not None]   but I get the
> error that "t is not defined". What am I doing wrong?

You've got a "for" and an "if" backwards. t isn't defined when the if
tries to evaluate it.






More information about the Python-list mailing list