ここで提供される優れた回答はすべて、元のポスターの特定の要件に集中し、if 1 in {x,y,z}
MartijnPietersによって提案されたソリューションに集中しています。
彼らが無視しているのは、質問のより広い意味です
。1つの変数を複数の値に対してテストするにはどうすればよいですか?
たとえば、文字列を使用する場合、提供されるソリューションは部分ヒットでは機能しません。
文字列「Wild」が複数の値であるかどうかをテストします。
>>> x = "Wild things"
>>> y = "throttle it back"
>>> z = "in the beginning"
>>> if "Wild" in {x, y, z}: print (True)
...
また
>>> x = "Wild things"
>>> y = "throttle it back"
>>> z = "in the beginning"
>>> if "Wild" in [x, y, z]: print (True)
...
このシナリオでは、文字列に変換するのが最も簡単です
>>> [x, y, z]
['Wild things', 'throttle it back', 'in the beginning']
>>> {x, y, z}
{'in the beginning', 'throttle it back', 'Wild things'}
>>>
>>> if "Wild" in str([x, y, z]): print (True)
...
True
>>> if "Wild" in str({x, y, z}): print (True)
...
True
ただし、で述べたように、次のよう@codeforester
に、この方法では単語の境界が失われることに注意し てください。
>>> x=['Wild things', 'throttle it back', 'in the beginning']
>>> if "rot" in str(x): print(True)
...
True
3文字rot
はリストに組み合わせて存在しますが、個々の単語としては存在しません。「rot」のテストは失敗しますが、リスト項目の1つが「rotin hell」の場合、それも失敗します。
結果として、この方法を使用する場合は検索条件に注意し、この制限があることに注意してください。