回答編集履歴
1
追記
answer
CHANGED
@@ -8,4 +8,14 @@
|
|
8
8
|
> [組み込み型 — Python 3.8.2 ドキュメント](https://docs.python.org/ja/3/library/stdtypes.html#boolean-operations-and-or-not)
|
9
9
|
|
10
10
|
という動作になります。Pythonでは基本的に任意のオブジェクトの真理値を判定できるので、上の動作でいいことがわかるはずです。
|
11
|
-
(つまり`x`が真なら全体の真理値は`x`の真理値でよく、`x`が真でない(偽である)ときは`y`の真理値で全体の真理値が決まる、という`or`に相応しい動作になっています。そしてどちらにしても、返すのは`bool`ではなく元のオペランドを評価した結果です)
|
11
|
+
(つまり`x`が真なら全体の真理値は`x`の真理値でよく、`x`が真でない(偽である)ときは`y`の真理値で全体の真理値が決まる、という`or`に相応しい動作になっています。そしてどちらにしても、返すのは`bool`ではなく元のオペランドを評価した結果です)
|
12
|
+
|
13
|
+
---
|
14
|
+
|
15
|
+
こういうときは`in`で書くのが通例です。
|
16
|
+
|
17
|
+
```python
|
18
|
+
if a in {"hoge", "fuga"}:
|
19
|
+
```
|
20
|
+
|
21
|
+
`list`や`tuple`として書く場合もありますが、とりあえず今回は`set`としています。集合とみなすならたぶんこれが妥当でしょう。パフォーマンス面でも`set`の帰属判定は多少高速に行えます。
|