Почему bool([""]) возвращает True?

bool([""]) равен True, потому что список содержит один элемент. Проверяется пустота самого контейнера, а не истинность его содержимого.

Короткий ответ

Что ответить на собеседовании

bool([""]) равен True, потому что список содержит один элемент. Проверяется пустота самого контейнера, а не истинность его содержимого.

Подробный разбор

Ответ с пояснениями

bool([""]) равен True, потому что список содержит один элемент. Проверяется пустота самого контейнера, а не истинность его содержимого.

Сравните: bool([]) — False, bool(['']) — True, bool('') — False. Вложенный пустой список или значение None тоже делают внешний список непустым. Если нужно проверить истинность элементов, используют, например, any(values) или all(values) в зависимости от условия, а не bool всего списка.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее