Я хочу сравнить первый элемент в моем списке «i» с моим первым кортежем «i0_prior» и под сравнением я хочу проверить, близок ли он (+ -a) к числам в кортеже. То же самое относится ко второму элементу и второму кортежу «i1_prior». Я жестко запрограммировал это, потому что кортежи были "всего" 20 чисел. Но есть ли более подходящий способ сделать это?
for i in blured[0, :]:
if (i[0] in range(i0_prior[0]-a, i0_prior[0]+a) and i[1] in range(i1_prior[0]-b, i1_prior[0]-b) or
i[0] in range(i0_prior[1]-a, i0_prior[1]+a) and i[1] in range(i1_prior[1]-b, i1_prior[1]-b) or
i[0] in range(i0_prior[2]-a, i0_prior[2]+a) and i[1] in range(i1_prior[2]-b, i1_prior[2]-b) or
i[0] in range(i0_prior[3]-a, i0_prior[3]+a) and i[1] in range(i1_prior[3]-b, i1_prior[3]-b) or
i[0] in range(i0_prior[4]-a, i0_prior[4]+a) and i[1] in range(i1_prior[4]-b, i1_prior[4]-b) or
i[0] in range(i0_prior[5]-a, i0_prior[5]+a) and i[1] in range(i1_prior[5]-b, i1_prior[5]-b) or
i[0] in range(i0_prior[6]-a, i0_prior[6]+a) and i[1] in range(i1_prior[6]-b, i1_prior[6]-b) or
i[0] in range(i0_prior[7]-a, i0_prior[7]+a) and i[1] in range(i1_prior[7]-b, i1_prior[7]-b) or
i[0] in range(i0_prior[8]-a, i0_prior[8]+a) and i[1] in range(i1_prior[8]-b, i1_prior[8]-b) or
i[0] in range(i0_prior[9]-a, i0_prior[9]+a) and i[1] in range(i1_prior[9]-b, i1_prior[9]-b) or
i[0] in range(i0_prior[10]-a, i0_prior[10]+a) and i[1] in range(i1_prior[10]-b, i1_prior[10]+b) or
i[0] in range(i0_prior[11]-a, i0_prior[11]+a) and i[1] in range(i1_prior[11]-b, i1_prior[11]+b) or
i[0] in range(i0_prior[12]-a, i0_prior[12]+a) and i[1] in range(i1_prior[12]-b, i1_prior[12]+b) or
i[0] in range(i0_prior[13]-a, i0_prior[13]+a) and i[1] in range(i1_prior[13]-b, i1_prior[13]+b) or
i[0] in range(i0_prior[14]-a, i0_prior[14]+a) and i[1] in range(i1_prior[14]-b, i1_prior[14]+b) or
i[0] in range(i0_prior[15]-a, i0_prior[15]+a) and i[1] in range(i1_prior[15]-b, i1_prior[15]+b) or
i[0] in range(i0_prior[16]-a, i0_prior[16]+a) and i[1] in range(i1_prior[16]-b, i1_prior[16]+b) or
i[0] in range(i0_prior[17]-a, i0_prior[17]+a) and i[1] in range(i1_prior[17]-b, i1_prior[17]+b) or
i[0] in range(i0_prior[18]-a, i0_prior[18]+a) and i[1] in range(i1_prior[18]-b, i1_prior[18]+b) or
i[0] in range(i0_prior[19]-a, i0_prior[19]+a) and i[1] in range(i1_prior[19]-b, i1_prior[19]+b)):
И да, здесь необходим оператор and, потому что позиции в обоих кортежах как бы «связаны».