1. ホーム
  2. python

[解決済み] Python ? (条件/三項)演算子による代入 [重複]の場合

2022-03-02 23:12:11

質問

C言語をはじめとする多くの言語では 条件付き(別名:三項) 演算子です。 これにより、条件の真偽に基づいて2つの値の間で非常に簡潔な選択を行うことができ、代入を含む式を非常に簡潔にすることができます。

私のコードには、Pythonで4行もかかる条件代入がたくさんあるので、これが恋しいです。

if condition:
    var = something
else:
    var = something_else

一方、C言語ではこうなる。

var = condition ? something : something_else;

ファイル内で1回や2回ならいいのですが、条件代入が多いと行数が爆発的に増え、最悪の場合、目移りしてしまうのです。

私は条件演算子の簡潔さを気に入っています。

では、Pythonで、私が概説した条件演算子の利点に近似するために、代入を1行にまとめるトリックはあるのでしょうか?

どのように解決するのですか?

Pythonにはそのような演算子があります。

variable = something if condition else something_else

また、推奨はしませんが、( karadocのコメント ):

variable = (condition and something) or something_else