回答編集履歴

1

追記

2020/03/18 08:12

投稿

hayataka2049
hayataka2049

スコア30935

test CHANGED
@@ -19,3 +19,23 @@
19
19
  という動作になります。Pythonでは基本的に任意のオブジェクトの真理値を判定できるので、上の動作でいいことがわかるはずです。
20
20
 
21
21
  (つまり`x`が真なら全体の真理値は`x`の真理値でよく、`x`が真でない(偽である)ときは`y`の真理値で全体の真理値が決まる、という`or`に相応しい動作になっています。そしてどちらにしても、返すのは`bool`ではなく元のオペランドを評価した結果です)
22
+
23
+
24
+
25
+ ---
26
+
27
+
28
+
29
+ こういうときは`in`で書くのが通例です。
30
+
31
+
32
+
33
+ ```python
34
+
35
+ if a in {"hoge", "fuga"}:
36
+
37
+ ```
38
+
39
+
40
+
41
+ `list`や`tuple`として書く場合もありますが、とりあえず今回は`set`としています。集合とみなすならたぶんこれが妥当でしょう。パフォーマンス面でも`set`の帰属判定は多少高速に行えます。