class documentation

class modify_iter(peek_iter):

View In Hierarchy

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, 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)
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
def __init__(self, *args, **kwargs):
__init__(o, sentinel=None, modifier=lambda x: x)
Parameters
*args:AnyUndocumented
**kwargs:AnyUndocumented
def _fillcache(self, n):

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.modified function before being cached.

Parameters
n:Optional[int]Undocumented
modifier =

Undocumented