On Wed, 2007-10-10 at 18:01 -0500, Robert Dailey wrote: > Hi, > > Suppose I wanted to manually iterate over a container, for example: > > mylist = [1,2,3,4,5,6] > > it = iter(mylist) > while True: > print it > it.next() > > In the example above, the print doesn't print the VALUE that the > iterator currently represents, it prints the iterator itself. How can > I get the value 'it' represents so I can either modify that value or > print it? Thanks.
I have the feeling that you're not telling us the actual problem you're trying to solve. Python iterators do not, in general, have a notion of a "current" value. The only have a notion of a next value, which is returned by next(). If you need to use that value multiple times, you need to store it somewhere. If you really must use a while loop, it'll have to look something like this (add handling of StopIteration to taste): while True: current = it.next() print current HTH, -- Carsten Haese http://informixdb.sourceforge.net -- http://mail.python.org/mailman/listinfo/python-list