An iterator object that supports modifying items as they are returned. 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 : any value, 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`, :exc:`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. Attributes ---------- modifier : callable `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, `modify_iter.sentinel` is never passed through `modifier`; it will always be returned from `peek` unmodified. 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__ |
__init__(o, sentinel=None, modifier=lambda x: x) |
Instance Variable | modifier |
Undocumented |
Method | _fillcache |
Cache `n` modified items. If `n` is 0 or None, 1 item is cached. |
Inherited from peek_iter
:
Method | __iter__ |
Undocumented |
Method | __next__ |
Undocumented |
Method | has |
Determine if iterator is exhausted. |
Method | next |
Get the next item or `n` items of the iterator. |
Method | peek |
Preview the next item or `n` items of the iterator. |
Instance Variable | sentinel |
Undocumented |
Instance Variable | _cache |
Undocumented |
Instance Variable | _iterable |
Undocumented |