有没有办法简化"如果x == 1和y == 2:"

时间:2014-11-29 19:41:28

标签: python-3.x simplify simplification

有没有办法简化:

if x == 1 and y == 2 and z == 3:

if x == 1 and y == 1 and z == 1:

if x == 1 or y == 2 or z == 3:


if x == 1 or x == 2简化为if x in [1, 2]:

1 个答案:

答案 0 :(得分:2)

您的一个例子是和其他人一样。 and表单可以很容易地简化:

if x == 1 and y == 2 and z == 3:

变为:

if (x, y, z) == (1, 2, 3):

但是,or表单不能整齐。它可以改写为:

if any(a == b for a, b in zip((x, y, z), (1, 2, 3))):

但这很难“简化”