class modify_iter(peek_iter[T]):
An iterator object that supports modifying items as they are returned.
Example
>>> a = [" A list ", ... " of strings ", ... " with ", ... " extra ", ... " whitespace. "] >>> modifier = lambda s: s.strip().replace('with', 'without') >>> for s in modify_iter(a, modifier=modifier): ... print('"%s"' % s) "A list" "of strings" "without" "extra" "whitespace."
Method | __init__ |
No summary |
Instance Variable | modifier |
modifier is called with each item in o as it is iterated. The
return value of modifier is returned in lieu of the item.
Values returned by peek as well as next are affected by
modifier. However, sentinel is never passed through
modifier; it will always be returned from peek unmodified. |
Method | _fillcache |
Cache n modified items. If n is 0 or None, 1 item is cached. Each item returned by the iterator is passed through the modify_iter.modifier function before being cached. |
Parameters | |
o:Iterable or Callable | o is interpreted very differently depending on the presence of sentinel. If sentinel is not given, then o must be a collection object which supports either the iteration protocol or the sequence protocol. If sentinel is given, then o must be a callable object. |
sentinel:object , optional | If given, the iterator will call o with no arguments for each
call to its next method; if the value returned is equal to
sentinel, StopIteration will be raised, otherwise the
value will be returned. |
modifier:callable , optional | The function that will be used to modify each item returned by the
iterator. modifier should take a single argument and return a
single value. Defaults to lambda x: x.
If sentinel is not given, modifier must be passed as a keyword
argument. |
modify_iter.modifier
function before being cached.Parameters | |
n:Optional[ | Undocumented |