Подтвердить что ты не робот

Сравнение нескольких переменных с одним и тем же значением в "if" в Python?

Я использую Python, и я хотел бы иметь оператор if со многими переменными в нем.

например:

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

Я понимаю, что это не правильный синтаксис, и именно этот вопрос я задаю - каков правильный синтаксис Python для этого типа оператора if? Спасибо!

4b9b3361

Ответ 1

Как насчет этого:

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

Это должно быть полезно, если вы тестируете длинный список переменных с тем же условием.

Ответ 2

Другая идея:

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

Ответ 3

Я бы, вероятно, написал это как

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

Ответ 4

Если у вас есть десять переменных, которые вы рассматриваете как группу, подобную этой, вы, вероятно, захотите сделать их элементами списка или значениями в словаре или атрибутами объекта. Например:

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!"

Ответ 5

Как насчет:

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

В общем случае нет более короткого способа указывать, что одно и то же условие должно быть истинным для всех переменных - если вы не хотите помещать переменные в список, для этого взгляните на некоторые из другие ответы.

Ответ 6

За исключением того, что она, вероятно, просила об этом:

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

Ответ 7

В зависимости от того, что вы пытаетесь выполнить, передача списка функции может работать.

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