我们可以用python中的同一个表达式检查多个变量吗

我们可以用python中的同一个表达式检查多个变量吗,python,Python,我知道我们可以根据多种条件检查变量,如下所示 if all(x >= 2 for x in (A, B, C, D)): print A, B, C, D 我的问题是,我们能做相反的事情吗? 我们可以对照相同的条件(一个或两个)检查一个或两个变量吗 我们可以把上面的代码重写为 if variable1 and variable2 not in null_check: print (variable1, variable2) 如果是,哪种做法更好 提前感谢:)您可以将变量

我知道我们可以根据多种条件检查变量,如下所示

if all(x >= 2 for x in (A, B, C, D)):
    print A, B, C, D
我的问题是,我们能做相反的事情吗? 我们可以对照相同的条件(一个或两个)检查一个或两个变量吗

我们可以把上面的代码重写为

if variable1 and variable2 not in null_check:
    print (variable1, variable2)
如果是,哪种做法更好


提前感谢:)

您可以将变量放入
列表
元组
,然后使用相同的方法使用
all
检查它们是否都不在
元组中

if all(var not in null_check for var in (variable1, variable2)):
    print (variable1, variable2)

您可以将变量放入
列表
元组
,然后使用相同的方法使用
all
检查它们是否都不在
元组中

if all(var not in null_check for var in (variable1, variable2)):
    print (variable1, variable2)

您可以按照与第一个代码块非常相似的方式执行此操作:

null_check = (None,'','None')
if all(variable not in null_check for variable in (variable1, variable2)):
    print (variable1, variable2)
或:


您可以按照与第一个代码块非常相似的方式执行此操作:

null_check = (None,'','None')
if all(variable not in null_check for variable in (variable1, variable2)):
    print (variable1, variable2)
或:


不,您不能这样做,但作为一种pythonic方法,您可以将您的
null\u检查
项放入
集合
。并检查交叉口:

null_check = {None,'','None'}
if null_check.intersection({var1, var2}): # instead of `or` or `any()` function
    # pass  
if len(null_check.intersection({var1, var2})) == 2: # instead of `and` or `all()` function
    # pass

不,您不能这样做,但作为一种pythonic方法,您可以将您的
null\u检查
项放入
集合
。并检查交叉口:

null_check = {None,'','None'}
if null_check.intersection({var1, var2}): # instead of `or` or `any()` function
    # pass  
if len(null_check.intersection({var1, var2})) == 2: # instead of `and` or `all()` function
    # pass