将多个变量与Python中“if”中的相同值进行比较?

时间:2011-12-27 04:00:19

标签: python if-statement

我正在使用Python,我想要一个包含许多变量的if语句。

如:

  if A, B, C, and D >= 2:
         print (A, B, C, and D)

我意识到这不是正确的语法,这正是我要问的问题 - 这种类型的if语句的正确Python语法是什么?谢谢!

7 个答案:

答案 0 :(得分:44)

这个怎么样:

if all(x >= 2 for x in (A, B, C, D)):
    print A, B, C, D

如果您正在测试具有相同条件的 long 变量列表,这将非常有用。

答案 1 :(得分:17)

另一个想法:

if min(A, B, C, D) >= 2:
    print A, B, C, D

答案 2 :(得分:6)

我可能会把它写成

v = A, B, C, D
if all(i >= 2 for i in v):
    print v

答案 3 :(得分:3)

如果您将十个变量视为这样的组,您可能希望将它们作为列表的元素,或字典中的值或对象的属性。例如:

my_dict = {'A': 1, 'B': 2, 'C': 3 }

if all(x > 2 for x in my_dict.values()):
    print "They're all more than two!"

答案 4 :(得分:2)

根据您要完成的操作,将列表传递给函数可能会有效。

def foo(lst):
    for i in lst:
        if i < 2:
            return
    print lst

答案 5 :(得分:1)

怎么样:

if A >= 2 and B >= 2 and C >= 2 and D >= 2:
    print A, B, C, D

对于一般情况,没有一种更短的方法来指示所有变量必须同样的条件 - 除非你愿意将变量放在一个列表中,为此看一下其他答案。

答案 6 :(得分:1)

除了她可能要求这样做:

if A >= 2 and B >= 2 and C >= 2 and D >= 2: