generators improvement

Steven Taschuk staschuk at
Wed Aug 20 07:27:13 CEST 2003

Quoth Oleg Leschov:
> But, the question is - if there is .next(), why there's no .first()?

When I'm getting elements from an iterator, I don't care whether
I'm getting the first element or a following one.  I just want the
next element.

Consider, for example, a function which wraps text into good-sized
lines, maybe hyphenating or what have you; this function accepts
as an argument an iterable containing lines of text.  I might call
this function directly on a file,
(exploiting the fact that iterating over a file produces its
lines), or, say, read an RFC 822 header from the file first,
    it = iter(fileobj)
    for headerline in iter(it, ''):
In the former case, the function sees the first element; in the
latter it sees elements after the first.  But why on earth should
it care?

Steven Taschuk                             staschuk at
"I may be wrong but I'm positive."  -- _Friday_, Robert A. Heinlein

More information about the Python-list mailing list