Найти в Дзене
Машинное обучение

⛓ Цепочки сравнений

Распространенная ситуация: проверка того, что переменная находится в заданных пределах. Можно было бы использовать логический оператор and:

 if x >= 5 and x < 20:

Однако Python предоставляет нам синтаксическое удобство, которое выглядит более "математичным". Такая запись и короче, и понятнее:

 if 5 <= x < 20:

В качестве операторов сравнения в цепочках могут быть любые из списка в любых сочетаниях:

 "<", "==", ">=", "<=", "!=", "is" ["not"], ["not"] "in"

Т.е. запись вида a < b > c вполне законна, хоть и трудна для понимания. 

Формально, если мы имеем N операций OP1...OPN и N + 1 выражений (a, b ... y, z), то запись вида:

 OP1 b OP2 c ... y OPN z 

Это эквивалентно записи:

 OP1 b and b OP2 c and ... and y OPN z

📎 Примеры:

x = 5

print(1 < x < 10) 

print(x < 10 < x*10 < 100) 

print(10 > x <= 9) 

print(5 == x > 4)

a, b, c, d, e, f = 0, 5, 12, 0, 15, 15

print(a <= b < c > d is not e is f)

Python/ django

#machinelearning #artificialintelligence #ai #datascience #python #programming #technology #deeplearning #coding #bigdata