带有多个变量的 Python “in”

Lim*_*tis 2 python

所以我得到了这段代码:

OPTION_1 if (i in (0, 1, 2) and j in (0, 1, 2)) else OPTION_2
Run Code Online (Sandbox Code Playgroud)

OPTION_1只有当ij都在给定的范围内时,它才会这样做。我想知道我是否可以以某种方式缩短它。试过这个:

OPTION_1 if (i and j) in (0, 1, 2) else OPTION_2
Run Code Online (Sandbox Code Playgroud)

但是如果i==4j==2,它确实OPTION_1,尽管i不在范围内。

kay*_*ya3 5

您可以使用集合:<=运算符测试第一个集合的所有元素是否都是第二个集合的元素。

OPTION_1 if {i, j} <= {0, 1, 2} else OPTION_2
Run Code Online (Sandbox Code Playgroud)