Хороший способ увидеть, какое условие выполняется в python

#python #if-statement #conditional-statements

#python #if-statement #условные операторы

Вопрос:

У меня есть три разных if conditions и я хочу посмотреть, какие условия выполнены.

Я думал, что смогу выполнить это с пустым списком и добавить 1, если условие выполнено, и 0 в противном случае.

 check_list = []
sample = [1,4,7]
fixed_number = 5

if sample[0] < fixed_number:
    check_list.append(1)
else:
    check_list.append(0)

if sample[1] < fixed_number:
    check_list.append(1)
else:
    check_list.append(0)

if sample[2] < fixed_number:
    check_list.append(1)
else:
    check_list.append(0)


check_list
  

Желаемый результат в этом случае:

 [1,1,0]
  

Как я могу сделать этот код коротким и pythonic?

Спасибо.

Ответ №1:

Просто это:

 check_list = [s < fixed_number for s in sample]
  

если вас действительно волнует наличие нулей и единиц, используйте int(s < fixed_number) .

Ответ №2:

 check_list = []
sample = [1, 4, 7]
fixed_number = 5

for i in sample:
    if i < fixed_number:
        check_list.append(1)
    else:
        check_list.append(0)

print(check_list)
  

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