долгое время искал решение этой проблемы, но ничего не может найти.
Например, у меня есть массив numpy
[ 0, 0, 2, 3, 2, 4, 3, 4, 0, 0, -2, -1, -4, -2, -1, -3, -4, 0, 2, 3, -2, -1, 0]
то, что я хотел бы получить, - это создать другой массив, чтобы указать элементы между парой чисел, скажем, между 2 и -2. Поэтому я хочу получить такой массив
[ 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0]
Обратите внимание, что любые 2 или -2 между парой (2, -2) игнорируются. Любой простой подход состоит в том, чтобы перебирать каждый элемент с циклом for и идентифицировать первое вхождение 2 и устанавливать все после этого до 1, пока вы не нажмете -2 и не начнете искать следующие 2 снова.
Но я бы хотел, чтобы этот процесс был быстрее, поскольку у меня более 1000 элементов в массиве numpy. и этот процесс нужно делать много раз. Вы, ребята, знаете какой-нибудь элегантный способ решить эту проблему? Спасибо заранее!