I believe this would be simple to implement when it's needed by subclassing `collections.UserList` and wrapping this functionality around `__getitem__`, `__setitem__`, and `__delitem__`. 

On Tue, Nov 24, 2020, 2:38 PM Mathew M. Noel via Python-ideas <python-ideas@python.org> wrote:

Python uses an index of -1 to index the last element in a list. Since -1 occurs before 0 we might think of the elements of the linear list are being bent into a circle making the last element occur before the 0th element. Consider a list with n elements: it would be perfectly reasonable to address the element 0 of the list using an index of n since n occurs after n-1 (if we assume that the list is bent into a circle). This feature can prove to be extremely useful. Consider the following example:


days_of_the_week = ["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]

It would be nice if
days_of_the_week[0]
is the same as
days_of_the_week[7] 

is the same as
days_of_the_week[14] etc

In other words use modular indexing.
In other words if the index is outside the range 0 to n-1, we simply take the remainder when the index is divided by n as the index.
Because of the close relationship between finite length sequences and periodic sequences this feature might simplify scientific computing(circular convolution etc).


_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-leave@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/ZEH5W2XBYSHKU733WSLGQEIIPOFSVBIU/
Code of Conduct: http://python.org/psf/codeofconduct/