0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Pythonの条件式結果を変数に代入する

Last updated at Posted at 2019-04-03

はじめに

Atcoderで問題を解いていた時、
"ある条件が真の場合は変数+1,偽の場合は変数-1"
としたい時、下記のように記載していましたが、
三項演算子で1行でまとめられないかと考えました。

sample1.py
if a < b:
	x += 1
else:
	x -= 1

環境

Python 3.7.0

結論

=のところを+=*=のように代入演算子に置き換えると演算が行われます。

sample2.py
x += 1 if a <= b else -1

軽く試してみた感じ、代入演算子は一通り使えそうです
+=,-=,*=,/=,%=,**=,//=,&=,|=,^=,<<=,>>=

おまけ

関数を設定することも可能なようです。

sample2.py
hoge() if flag1 else piyo()

おわりに

三項演算子は=による代入しかできないと思ってました。
やってみるものですね。

0
2
3

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
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?