[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