yield_all needed in Python
Douglas Alan
nessus at mit.edu
Tue Mar 1 12:11:40 EST 2005
Andrew Dalke <dalke at dalkescientific.com> writes:
> On Mon, 28 Feb 2005 18:25:51 -0500, Douglas Alan wrote:
>> While writing a generator, I was just thinking how Python needs a
>> "yield_all" statement. With the help of Google, I found a
>> pre-existing discussion on this from a while back in the
>> Lightweight Languages mailing list. I'll repost it here in order
>> to improve the chances of this enhancement actually happening
>> someday.
> You should also have looked for the responses to that. Tim Peter's
> response is available from
> http://aspn.activestate.com/ASPN/Mail/Message/624273
[...]
> Here is the most relevant parts.
[...]
> BTW, Python almost never worries about worst-case behavior, and people
> using Python dicts instead of, e.g., balanced trees, get to carry their
> shame home with them hours earlier each day <wink> .
If you'll reread what I wrote, you'll see that I'm not concerned with
performance, but rather my concern is that I want the syntactic sugar.
I'm tired of writing code that looks like
def foogen(arg1):
def foogen1(arg2):
# Some code here
# Some code here
for e in foogen1(arg3): yield e
# Some code here
for e in foogen1(arg4): yield e
# Some code here
for e in foogen1(arg5): yield e
# Some code here
for e in foogen1(arg6): yield e
when it would be much prettier and easier to read if it looked like:
def foogen(arg1):
def foogen1(arg2):
# Some code here
# Some code here
yield_all foogen1(arg3)
# Some code here
yield_all foogen1(arg4)
# Some code here
yield_all foogen1(arg5)
# Some code here
yield_all foogen1(arg6)
|>oug
More information about the Python-list
mailing list