LoginSignup
7
1

More than 5 years have passed since last update.

max・minを使ってif文を短くできる時があるね

Posted at

なんかpythonのコード書いてて気付いたのでメモ。初歩的かつ常識的なテクニックかもしれませんが…

aという変数を、ある計算式の結果(some_condition + add_value)がCONSTANTより大きくなるのかならないのかで分岐させたい場合を考えます。

とりあえずif文で適当に書いてみる。

a = 0
if some_condition + add_value < CONSTANT:
    a = some_condition + add_value
else:
    a = CONSTANT

…さすがに冗長すぎる気がするので、初期化(変数宣言)のところにelseの動作をいれてみる。

a = CONSTANT
if  some_condition + add_value < CONSTANT:
    a = some_condition + add_value

これをやってみた後、やってることは some_condition + add_value と CONSTANTの比較だけなので、minを使って1行で済むことに気づきました。

a = min(some_condition + add_value, CONSTANT)

pythonには三項演算子がなくて条件分岐の時にコードが長くなりがちですが、min・maxを使えば多少コードがきれいにかけるのかも。

7
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
1