[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [pygame] Re: Creating several instances of same image
Jasper Phillips wrote:
On Mon, 26 Jul 2004, Daniel Dornhardt wrote:
Jasper Phillips wrote:
def offset( x, y ):
return (LEFT + x * DISTANCE, TOP + y * DISTANCE)
alienList = [Alien(offset(x,y)) for x in range(COLUMNS) for y in range(ROWS)]
???
does it work? :D
i pseudo-tried it, it works, cool
it surely makes the whole process clearer and much easier to grok (but
not for me...)
why does it work?
This construct is a part of Python's syntax, called a "list comprehension",
which was added in Python 2.1 or 2.2.
http://www.google.com/search?q=python+list+comprehension
You can also add an if clause to the end of a list comprehension, which is
often usefull.
The syntax takes a bit of getting used to, but in my experience often yields
clearer code. I just wish there was a clean way to use it for dictionaries!
-Jasper
I guess it could actually be usefull for some of the more-complicated
loops, maybe i'll wrap my head around it sometime...
Thanks for the additional informations!
Daniel