Class LazyEnumerate
source code
object --+
|
AbstractLazySequence --+
|
LazyMap --+
|
LazyZip --+
|
LazyEnumerate
A lazy sequence whose elements are tuples, each ontaining a count
(from zero) and a value yielded by underlying sequence.
LazyEnumerate is useful for obtaining an indexed list. The
tuples are constructed lazily -- i.e., when you read a value from the
list, LazyEnumerate will calculate that value by forming a
tuple from the count of the i-th element and the i-th
element of the underlying sequence.
LazyEnumerate is essentially a lazy version of the Python
primitive function enumerate. In particular, the following
two expressions are equivalent:
>>> enumerate(sequence)
>>> list(LazyEnumerate(sequence))
Lazy enumerations can be useful for conserving memory in cases where
the argument sequences are particularly long.
A typical example of a use case for this class is obtaining an indexed
list for a long sequence of values. By constructing tuples lazily and
avoiding the creation of an additional long sequence, memory usage can be
significantly reduced.
|
|
|
|
Inherited from LazyZip:
__len__,
iterate_from
Inherited from LazyMap:
__getitem__
Inherited from AbstractLazySequence:
__add__,
__cmp__,
__contains__,
__hash__,
__iter__,
__mul__,
__radd__,
__repr__,
__rmul__,
count,
index
Inherited from object:
__delattr__,
__getattribute__,
__new__,
__reduce__,
__reduce_ex__,
__setattr__,
__str__
|
|
Inherited from object:
__class__
|