# 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, programmer and rationalist. 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