[Python-ideas] Sequence views

Serhiy Storchaka storchaka at gmail.com
Sun Jul 17 15:22:29 EDT 2016

Maybe it's time to add a new module for sequence-specific functions 
(seqtools?). It should contain at least two classes or fabric functions:

1. A view that represents a sliced subsequence. Lazy equivalent of 
seq[start:end:step]. This feature is implemented in third-party module 
dataview [1].

2. A view that represents a linear sequence as 2D array. Iterating this 
view emits non-intersecting chunks of the sequence. For example it can 
be used for representing the bytes object as a sequence of 1-byte bytes 
objects (as in 2.x), a generalized alternative to iterbytes() from PEP 
467 [2].

Neither itertools nor collections modules look good place for these 
features, since they are not concrete classes and work only with 
sequences, not general iterables or iterators. On other side, 
mappingproxy and ChainMap look close, maybe new module should be 
oriented not on sequences, but on views.

[1] https://pypi.python.org/pypi/dataview
[2] https://www.python.org/dev/peps/pep-0467

More information about the Python-ideas mailing list