Счетчик просмотров57

Булевы значения как 0 и 1

Оглавление
True — это единица, False — нольПодсчёт одной строкойЧто считается истиной, а что ложью

True — это единица, False — ноль

В Python bool — это подвид целых чисел. Булевы значения можно складывать, умножать и передавать в sum:

PYTHON-КОД
1
2
3
4

Из этого вырастает главный практический приём: сумма условий — это количество выполнившихся условий.

Подсчёт одной строкой

PYTHON-КОД
1
2
3

 

Каждое сравнение даёт True или False, то есть 1 или 0, а sum их складывает. Запись sum(1 for x in a if x % 2 == 0) делает ровно то же самое — выбирай ту, которая понятнее.

Баннер статьи
ЗадачаКороткая запись
сколько чётныхsum(x % 2 == 0 for x in a)
сколько букв «А» в строкеsum(c == "A" for c in s)
сколько строк длиннее 10sum(len(w) > 10 for w in words)
есть ли хоть один нулевойany(x == 0 for x in a)
все ли положительныеall(x > 0 for x in a)

Что считается истиной, а что ложью

ЗначениеКак воспринимается в условии
0, 0.0ложь
пустая строка ""ложь
пустой список [], словарь {}ложь
Noneложь
любое ненулевое числоистина
непустая строка, в том числе "0"истина

Отсюда короткие проверки: if a: означает «список не пуст», if not s: — «строка пустая».

Оцените статью

Другие статьи по предмету

Другие статьи не найдены