class modify_iter(peek_iter):
An iterator object that supports modifying items as they are returned.
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.
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.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.
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.
>>> 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) |
Method | ​_fillcache |
Cache n modified items. If n is 0 or None, 1 item is cached. |
Instance Variable | modifier |
Undocumented |
Inherited from peek_iter
:
Method | __iter__ |
Undocumented |
Method | __next__ |
Undocumented |
Method | has​_next |
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 | ​_cache |
Undocumented |
Instance Variable | ​_iterable |
Undocumented |
Instance Variable | sentinel |
Undocumented |
Parameters | |
*args:Any | Undocumented |
**kwargs:Any | Undocumented |