Chris Rebert wrote:
On Sun, Aug 23, 2009 at 4:27 PM, mm<matta...@gmail.com> wrote:
Hi, I'm trying to replace this...

       # this works but there must be a more pythonic way, right?

'Pythonic' is readable, if nothing else

       tlist = []
       for obj in self.objs:
           t = obj.intersect(ray)
           if (t != None):
               tlist.append((obj,t))

This, to me, is more readable than the lc replacement.


with a list comprehension- can it be done?

Yes:
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.

I agree.

tjr

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to