Предположим, что у меня 1D массив длиной 10:нарезка: доступ первые два элемента в обратном порядке работает цикл
A = np.arange(10)
Я хотел бы получить доступ к элементам 2 в то время, и обратный их. После этого будет выглядеть следующим образом:
np.array([1,0,3,2,5,4,7,6,9,8])
Я делаю это для цикла:
for i in range(5):
A[2*i:2*i+2] = A[2*i+1:2*i-1:-1]
Это решение работает для г = 0!. Можно ли получить желаемый результат для ВСЕХ элементов, без специального случая для i?
* Я использовал 1D как раз в качестве примера. Мой фактический массив - это 2D, с координатами y и x в виде строк. cv2.fitEllipse и cv.drawContours требуют массив, где x и y - столбцы ((2, n) -> (n, 1,2)). Я должен изменить форму своего массива и изменить порядок (и я хотел бы сделать это за 1 операцию).
Вы меняете форму на '.reshape (...)' и меняете порядок с помощью '[...: : -1] '. – hpaulj