#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)
Вы можете использовать цикл для проверки условия сразу вместо того, чтобы вызывать каждый раз.