PEP 289: Generator Expressions (please comment)
Bengt Richter
bokr at oz.net
Sun Oct 26 03:08:16 EST 2003
On 23 Oct 2003 12:58:31 -0700, python at rcn.com (Raymond Hettinger) wrote:
>Peter Norvig's creative thinking triggered renewed interest in PEP 289.
>That led to a number of contributors helping to re-work the pep details
>into a form that has been well received on the python-dev list:
>
> http://www.python.org/peps/pep-0289.html
>
>In brief, the PEP proposes a list comprehension style syntax for
>creating fast, memory efficient generator expressions on the fly:
>
> sum(x*x for x in roots)
> min(d.temperature()*9/5 + 32 for d in days)
> Set(word.lower() for word in text.split() if len(word) < 5)
> dict( (k, somefunc(k)) for k in keylist )
> dotproduct = sum(x*y for x,y in itertools.izip(xvec, yvec))
> bestplayer, bestscore = max( (p.score, p.name) for p in players )
>
>Each of the above runs without creating a full list in memory,
>which saves allocation time, conserves resources, and exploits
>cache locality.
>
>The new form is highly expressive and greatly enhances the utility
>of the many python functions and methods that accept iterable arguments.
>
+1
Regards,
Bengt Richter
More information about the Python-list
mailing list