Благодаря ответу onodip я решил свою начальную проблему.
Это немного отличалось от того, что я написал, я научился быть более конкретным в будущем (не спрашивать на примере).
Первоначально я хотел перебрать матрицу "в циклах" - сделать индекс n + 1 равным 0 и т. Д. Для всех индексов - другими словами, учитывая их форму по модулю.
import numpy as np
class myarray(np.ndarray):
def __getitem__(self, index):
if isinstance(index, tuple):
new_index = tuple(index[i] % super(myarray, self).shape[i] for i in range(len(index)))
else:
new_index = index % super(myarray, self).shape[0]
return super(myarray, self).__getitem__(new_index)
my_k = np.linspace(0, 10, 10).view(myarray)
print(my_k)
print(my_k[7])
print(my_k[17])
Это был отличный урок для меня. Спасибо всем за ответы и ваше время!