Re: Generator using item[n-1] + item[n] memory

2014-02-15 Thread Mark Lawrence
On 15/02/2014 03:31, Nick Timkovich wrote: OK, now the trick; adding `data = None` inside the generator works, but in my actual code I wrap my generator inside of `enumerate()`, which seems to obviate the "fix". Can I get it to play nice or am I forced to count manually. Is that a feature? On

Re: Generator using item[n-1] + item[n] memory

2014-02-15 Thread Peter Otten
Chris Angelico wrote: > On Sat, Feb 15, 2014 at 6:27 PM, Ian Kelly wrote: >> On Fri, Feb 14, 2014 at 8:31 PM, Nick Timkovich >> wrote: >>> OK, now the trick; adding `data = None` inside the generator works, but >>> in my actual code I wrap my generator inside of `enumerate()`, which >>> seems to

Re: Generator using item[n-1] + item[n] memory

2014-02-15 Thread Steven D'Aprano
On Fri, 14 Feb 2014 22:21:11 -0500, Roy Smith used a generator: > print g1.next() Roy, unless you're stuck with Python 2.5 (or older!), you ought to use the built-in function next(g1) rather than directly call the next method. Not only is this the recommended way to do it, but it's also more fu

Re: Generator using item[n-1] + item[n] memory

2014-02-14 Thread Chris Angelico
On Sat, Feb 15, 2014 at 6:27 PM, Ian Kelly wrote: > On Fri, Feb 14, 2014 at 8:31 PM, Nick Timkovich > wrote: >> OK, now the trick; adding `data = None` inside the generator works, but in >> my actual code I wrap my generator inside of `enumerate()`, which seems to >> obviate the "fix". Can I ge

Re: Generator using item[n-1] + item[n] memory

2014-02-14 Thread Ian Kelly
On Fri, Feb 14, 2014 at 8:31 PM, Nick Timkovich wrote: > OK, now the trick; adding `data = None` inside the generator works, but in > my actual code I wrap my generator inside of `enumerate()`, which seems to > obviate the "fix". Can I get it to play nice or am I forced to count > manually. Is th

Re: Generator using item[n-1] + item[n] memory

2014-02-14 Thread Nick Timkovich
OK, now the trick; adding `data = None` inside the generator works, but in my actual code I wrap my generator inside of `enumerate()`, which seems to obviate the "fix". Can I get it to play nice or am I forced to count manually. Is that a feature? On Fri, Feb 14, 2014 at 9:21 PM, Roy Smith wrot

Re: Generator using item[n-1] + item[n] memory

2014-02-14 Thread Roy Smith
In article , Nick Timkovich wrote: > Ah, I think I was equating `yield` too closely with `return` in my head. > Whereas `return` results in the destruction of the function's locals, > `yield` I should have known keeps them around, a la C's `static` functions. > Many thanks! It's not quite lik

Re: Generator using item[n-1] + item[n] memory

2014-02-14 Thread Nick Timkovich
Ah, I think I was equating `yield` too closely with `return` in my head. Whereas `return` results in the destruction of the function's locals, `yield` I should have known keeps them around, a la C's `static` functions. Many thanks! -- https://mail.python.org/mailman/listinfo/python-list

Re: Generator using item[n-1] + item[n] memory

2014-02-14 Thread Ian Kelly
On Fri, Feb 14, 2014 at 3:27 PM, Nick Timkovich wrote: > I have a Python 3.x program that processes several large text files that > contain sizeable arrays of data that can occasionally brush up against the > memory limit of my puny workstation. From some basic memory profiling, it > seems like w