Hi, Gerald Britton wrote: > The sieve is just one example. The basic idea is that for some > infinite generator (even a very simple one) you want to cut it off > after some point. As for the number of characters, I spelled lambda > incorrectly (left out a b) and there should be a space after the colon > to conform to design guides. So, actually the takewhile version is > two characters longer, not counting "import itertools" of course! the only usefull approach I could see is to enable slice syntax on generators which would make it possible to describe the exact or maximum lenght of results you want out of it. something like: >> g=(i for i in xrange(1000))[2:5] >> g.next() # wrapper would now step 2 times w/o yield and 1 with yield 2 >> g.next() 3 >> g.next() 4 >> g.next() Traceback (most recent call last): File "<interactive input>", line 1, in <module> StopIteration as expected - this could be included into itertools for now. Regards Tino > > On Mon, Jan 19, 2009 at 11:44 AM, Daniel Stutzbach > <daniel at stutzbachenterprises.com> wrote: >> On Mon, Jan 19, 2009 at 10:37 AM, Gerald Britton <gerald.britton at gmail.com> >> wrote: >>> prime = (p for p in sieve() while p < 1000) >>> prime = takewhile(lamda p:p<1000, sieve()) >> I'm pretty sure the extra cost of evaluating the lambda at each step is tiny >> compared to the cost of the sieve, so I don't you can make a convincing >> argument on performance. >> >> Also, you know the latter is actually fewer characters, right? :-) >> >> -- >> Daniel Stutzbach, Ph.D. >> President, Stutzbach Enterprises, LLC > _______________________________________________ > Python-Dev mailing list > Python-Dev at python.org > http://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: http://mail.python.org/mailman/options/python-dev/tino%40wildenhain.de -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/x-pkcs7-signature Size: 3241 bytes Desc: S/MIME Cryptographic Signature URL: <http://mail.python.org/pipermail/python-dev/attachments/20090122/ebbbee7e/attachment.bin>
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