On Sat, Feb 15, 2014 at 6:27 PM, Ian Kelly <ian.g.ke...@gmail.com> wrote: > On Fri, Feb 14, 2014 at 8:31 PM, Nick Timkovich <prometheus...@gmail.com> > 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? > > Yeah, looks like enumerate also doesn't release its reference to the > previous object until after it gets the next one. You'll just have to > make do without.
You could write your own enumerate function. def enumerate(it, i=0): it = iter(it) while True: yield i, next(it) i += 1 That shouldn't keep any extra references around. ChrisA -- https://mail.python.org/mailman/listinfo/python-list