Краткий ответ:
Использование all
:
for i in reversed(xb):
if all(xb[-1] > xb[-2]*1.5): # use all here
xb = np.delete(xb,-1)
Эквивалент: if (xb[-1] > xb[-2]*1.5).all():
Longответ:
У вас есть:
xb
(array([ 1, 2, 3, 4, 5, 7, 9, 10, 13, 21, 22, 24, 30]),
array([62, 16, 2, 4, 6, 3, 1, 1, 1, 1, 1, 1, 1]))
, который представляет собой список пустых массивов.
Далее, xb[-1] > xb[-2]*1.5
возвращает:
array([ True, True, False, False, False, False, False, False, False,
False, False, False, False])
Если вы не используете all
ИЛИ any
, это условие вызовет ошибку