The iter() function with a sentinel value
The built-in iter()
function creates an iterator over a collection
object. We can use this to wrap an iterator
object around a collection
. In many cases, we'll allow the for
statement to handle this implicitly. In a few cases, we might want to create an iterator explicitly so that we can separate the head from the tail of a collection
. This function can also iterate through the values created by a callable or
function until a sentinel
value is found. This feature is sometimes used with the read()
function of a file to consume rows until some sentinel
value is found. In this case, the given function might be some file's readline()
method. Providing a callable
function to iter()
is a bit hard for us because this function must maintain state internally. This hidden state is a feature of an open file, for example, each read()
or readline()
function advances some internal state to the next character or next line.
Another example of this is the way that...