Newbie: list comprehension troubles..

Chris Rebert clp2 at
Mon Aug 24 01:36:02 CEST 2009

On Sun, Aug 23, 2009 at 4:27 PM, mm<mattaman at> wrote:
> Hi, I'm trying to replace this...
>        # this works but there must be a more pythonic way, right?
>        tlist = []
>        for obj in self.objs:
>            t = obj.intersect(ray)
>            if (t != None):
>                tlist.append((obj,t))
> with a list comprehension- can it be done?

tlist = [pair for pair in ((obj, obj.intersect(ray)) for obj in
self.objs) if pair[1] is not None]

Should it be done? Probably not. It's less readable and less efficient.


More information about the Python-list mailing list