About
A simple library to support working with recursively nested objects.
Primarily built around the nested class which offers in, len, index() and count() functionality.
Additionally, the flatten() function provides the ability to configure behaviour for strings etc.
A note on strings in nested objects
When iterating through a nested object, string-like elements (str, bytes) will be returned in their original blocks, not as individual characters.
When calculating len, index, count and __contains__; individual characters are considered.
A future version will aim to provide a similar interface to the preserve keyword argument in flatten.
Quick reference - nested
Full details under Reference - class nested
classDiagram
direction RL
nested <|.. Collection: implements
class nested{
contents
__contains__()
__iter__()
__len__()
count()
index()
}
class Collection["collections.abc.Collection"]
A Collection which supports recursive versions of in, len and offers a recursive count and index.
| ATTRIBUTE | DESCRIPTION |
|---|---|
contents |
the original nested content
TYPE:
|
Examples:
>>> numberlists = [[1, 2], [3, 4], [5, 6], [[7, 8], 9]]
>>> nest = nested(numberlists)
>>> nest.contents
[[1, 2], [3, 4], [5, 6], [[7, 8], 9]]
>>> 5 in nest
True
>>> 10 in nest
False
>>> len(nest)
9
>>> [x for x in nest]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> list(nest)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> nest.count(5)
1
Source code in recurtools/nested.py
44 45 46 | |