Python
Python3
Python2

Pythonでは範囲条件を「a <= value < b」と書ける

この記事は Pythonのコードを短く簡潔に書くテクニック Advent Calendar 2017 の17日目です。

はじめに

他の言語で範囲条件と書くときはa <= value and value < bという書き方をしなければならないことが多いです。

しかしPythonではa <= value < bという簡潔な書き方ができます。

普通の書き方

a <= value and value < b

簡潔な書き方

a <= value < b

valueの記述が一回だけになり簡潔になりました。
また、valueの評価が一回だけになるので、パフォーマンス的にも良くなります。

比較演算子は幾つでも連結できる

Pythonでは比較演算子はいくつでも連結できます。

a < b < c < d

ただしやり過ぎると難解になるので、上に書いたように左から右へ小<大となる条件以外はやめたほうがいいです。

value1とvalue2が等価で両方ともa以上
a <= value1 == value2
valueがa以上かつb以上、aとbの大小関係は問わない
a <= value >= b

参考

  • Pythonドキュメンt