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'm Liam.
I'm currently a software engineer intern at
Wealthsimple, where I work on the
managed investing
service.
I also study computer science at
McGill University.
I like developer tooling, distributed systems, performance
engineering and compiler design.
You can reach out to me via email at liam@scalzulli.com.