Некоторые библиотеки делают причудливые вещи и не возвращают bool от этих операций. Например, с numpy:
>>> import numpy as np
>>> np.array([1,2,5,4,3,4,5,4,4])==4
array([False, False, False, True, False, True, False, True, True], dtype=bool)
>>> np.array([1,2,5,4,3,4,5,4,4])!=4
array([ True, True, True, False, True, False, True, False, False], dtype=bool)
Когда вы сравниваете массив с одним значением или другим массивом, вы получаете массив значений результатов сравнения соответствующих элементов. Вы не могли бы сделать это, если бы x!=y
было просто эквивалентно not (x==y)
.