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 am compsci undergrad with a minor in mathematics @ mcgill university, rust enjoyer and (neo)vim enthusiast. For fun I enjoy working on open-source projects, reading, and lifting weights.
Send me a message by email: liam [at] scalzulli.com or matrix: worse:matrix.org