Extends list, tuple and str with ring (circular) methods
Project description
RingSeqPy
A library that adds new operations to Python list
, tuple
and str
for when such a sequence needs to be considered circular,
its elements forming a ring.
Working for Python 3.10
and above.
Installation
pip install ring-seq-py
Get started
from ring_seq import RingSeq
>>> RingSeq('RING').rotate_right(1)
'GRIN'
>>> RingSeq([0, 1, 2, 3]).start_at(2)
[2, 3, 0, 1]
>>> RingSeq((1, 3, 5, 7, 9)).reflect_at(3)
(7, 5, 3, 1, 9)
or alternatively, without the class RingSeq
wrapper:
from ring_seq.methods import rotate_right, start_at, reflect_at
>>> rotate_right('RING', 1)
'GRIN'
>>> start_at([0, 1, 2, 3], 2)
[2, 3, 0, 1]
>>> reflect_at((1, 3, 5, 7, 9), 3)
(7, 5, 3, 1, 9)
Need
Whenever data are structured in a circular sequence, chances are you don't want to locally reinvent the wheel (pun intended).
Solution
RingSeqPy is a small, purely functional, self-contained library, where most of the circular use cases are already solved and building blocks provided for the others.
Other languages
The same library is available also for the Scala language, check RingSeq (Scala version).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for ring_seq_py-1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e2ca6a7df579a4482d76ba9b89c5e228b957fdc1303100acb9847a8cab8d0a62 |
|
MD5 | 20bdbb19d3521ba74651622549729e25 |
|
BLAKE2b-256 | e1042d0391241c5a933d4dc53c60043597ec93c3bbcd09d8c72abe5150b3d4b5 |