所以我得到了这段代码:
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只有当i和j都在给定的范围内时,它才会这样做。我想知道我是否可以以某种方式缩短它。试过这个:
OPTION_1 if (i and j) in (0, 1, 2) else OPTION_2
Run Code Online (Sandbox Code Playgroud)
但是如果i==4和j==2,它确实OPTION_1,尽管i不在范围内。
您可以使用集合:<=运算符测试第一个集合的所有元素是否都是第二个集合的元素。
OPTION_1 if {i, j} <= {0, 1, 2} else OPTION_2
Run Code Online (Sandbox Code Playgroud)