Если у вас есть большие списки чисел, лучше всего использовать numpy, а если вы:
import numpy as np
def monotonic(x):
dx = np.diff(x)
return np.all(dx <= 0) or np.all(dx >= 0)
должны сделать трюк.
Почему вы просто не используете next()
? Эта встроенная функция сделает все остальное с указателем массива за вас.
Если вы хотите разработать оболочку для массива, я думаю, вы должны взглянуть на Doctrine\Common\Collections\ArrayCollection
или использовать его напрямую, они отлично поработали, и он также доступен через Композитор