Introduction¶
Python Project tslist¶
Introduction¶
To import the project simply type
>>> import tslist
after installation.
The TS filtered list enhances the standard list by filtering the list by slices of types T differing from int in which (before comparision) any item x is converted to type T by calling T(x)
>>> from tslist import TSList
>>> l = 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9
>>> tsl = TSList(l)
>>> tsl
TSList([1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9])
>>> tsl[1.0:1.3] # filter all items between 1.0 (included) and 1.3 (excluded)
TSList([1.0, 1.1, 1.2])
>>> tsl[1.0:1.31]
TSList([1.0, 1.1, 1.2, 1.3])
>>> tsl[1.1] # filter all items at 1.1
TSList([1.1])
>>> tsl.append(1.1)
>>> tsl[1.1]
TSList([1.1, 1.1])
This becomes even more handy if list items admit conversions.
>>> from datetime import timedelta, datetime
>>> from tslist import TS
>>> class Timedelta(timedelta):
... def __float__(self):
... return self.total_seconds()
...
... def __ts__(self):
... # used for conversion using tslist.TS
... return datetime(2000, 1, 1) + self
>>> l = [Timedelta(d) for d in range(10, 15)]
>>> tsl = TSList(l)
>>> tsl
TSList(
[ Timedelta(days=10),
Timedelta(days=11),
Timedelta(days=12),
Timedelta(days=13),
Timedelta(days=14)]
)
>>> list(map(float, tsl))
[864000.0, 950400.0, 1036800.0, 1123200.0, 1209600.0]
>>> tsl[950400.:1209600.:2]
TSList([Timedelta(days=11), Timedelta(days=13)])
>>> list(map(TS, tsl))
[TS(20000111), TS(20000112), TS(20000113), TS(20000114), TS(20000115)]
>>> tsl[TS(20000112):TS(20000114)]
TSList([Timedelta(days=11), Timedelta(days=12)])
See TS() for more detail on timestamp and datetime conversion.
Documentation¶
More docs can be found on https://tslist.readthedocs.io
Install¶
The latest stable version can always be installed or updated via pip:
$ pip install tslist
License¶
Code and documentation are available according to the license (see LICENSE file in repository).