Right, but the PEP is only about generator expressions. On Tue, Jan 20, 2009 at 11:32 AM, Vitor Bosshard <algorias at yahoo.com> wrote: > ----- Mensaje original ---- >> De: "python-3000 at udmvt.ru" <python-3000 at udmvt.ru> >> Para: Gerald Britton <gerald.britton at gmail.com> >> CC: python-dev at python.org >> Enviado: martes, 20 de enero, 2009 11:18:24 >> Asunto: Re: [Python-Dev] PEP 3142: Add a "while" clause to generator expressions >> >> May I suggest you this variant? >> >> def raiseStopIteration(): >> raise StopIteration >> >> g = (n for n in range(100) if n*n < 50 or raiseStopIteration()) >> >> Well, there are more characters... >> >> But it is not using any syntax changes and does not require any approval >> to be functional. Yet it is as fast as the proposed variant, does not require >> modules and, I hope, will not confuse you or anyone else. >> > > This works as a generator, but not as a list comprehension. The exception is propagated instead of just cutting short the loop: > >>>> def r(): raise StopIteration >>>> print [i for i in range(10) if i**2 < 50 or r()] > Traceback (most recent call last): > File "<pyshell#2>", line 1, in <module> > print [i for i in range(10) if i**2 < 50 or r()] > File "<pyshell#1>", line 1, in r > def r(): raise StopIteration > StopIteration >>>> > > > Vitor > > > ¡Todo sobre la Liga Mexicana de fútbol! Estadisticas, resultados, calendario, fotos y más:< > http://espanol.sports.yahoo.com/ >
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4