Chaining comparison operators
I recently came across this lesser known feature in Python and started to play around with it.
Being able to chain comparison operators is a rarity among most modern programming languages, which is a shame considering how elegant and intuitive it turns out to be.
Here are some examples:
= 5, 10, 15 a, b, c print(a < b < c) # True
The code above is equivalent to:
= 5, 10, 15 a, b, c print(a < b and b < c) # True
And something a bit more complex:
= 5, 10, 30, 20, 15, 0, 0 a, b, c, d, e, f, g = a <= b > f < c > d is not f is g flag print(flag) # True
That is all equivalent to:
= 5, 10, 30, 20, 15, 0, 0 a, b, c, d, e, f, g = a <= b and b > f and f < c and c > d and d is not f and f is g flag print(flag) # True
You can see how tedious things might get. Python continues to amaze me with how beautiful and concise it can be.
I am an incoming honours math/compsci undergrad @ mcgill, programmer and rationalist.
Send me a message by email: liam [at] scalzulli.com or matrix: worse:matrix.org