Newbie: list comprehension troubles..
mm
mattaman at gmail.com
Sun Aug 23 19:27:21 EDT 2009
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?
What I need to do is iterate over a list of graphics primitives and
call their intersect method. If the returned t value is not None then
I want to store the obj refernence and its t value in a list of tuples
for further processing. I've tried stuff like ...
tlist = [(obj,t) for obj,t in (self.objs, obj.intersect(ray))
if (t != None)]
tlist = [(obj,t) for obj in self.objs for t in obj.intersect
(ray) ]
print ">>> ",len(tlist), tlist
but they don't work. Any help greatly appreciated. matt
More information about the Python-list
mailing list