У меня есть две переменные, lim1 и lim2, которые являются индексами матрицы. Они указывают на часть матрицы, которая должна быть заполнена нулями:Индексирование массивов
matrix[j,lim1:lim2] = 0
Однако, в некоторых случаях, lim1 и LIM2 превышают пределы матрицы, то есть, они меньше нуля или больше, чем п (где . п = Len (матрица [J ,:]) В этих случаях я должен использовать 0 или п вместо lim1 или LIM2
Чтобы проверить эти пределы, я в настоящее время с помощью кода:.
lim1 = something
if lim1 < 0:
lim1 = 0
elif lim1 > n:
lim1 = n
lim2 = something
if lim2 < 0:
lim2 = 0
elif lim2 > n:
lim2 = n
matrix[j,lim1:lim2] = 0
Есть ли еще более компактный способ проверить эти ограничения? Например, в IDL он будет записан как:
matrix[lim1>0<n:lim2>0<n] = 0
Этот код многократно повторяется, поэтому было бы очень удобно писать его более кратко.
Заранее благодарен!
Вы должны использовать NumPy –
не Если ваш верхний предел п-1 вместо п? – KobeJohn