Python: проверка списка на пустоту
Иногда нужно понять, есть ли в списке хотя бы один элемент. В Python это можно сделать как минимум тремя способами — от самого «питонического» до прямолинейного.
Что нужно знать
Пример 1: логическая проверка
my_list = []
if not my_list:
print("the list is empty")
Вывод
the list is empty
Если my_list пуст, то not my_list возвращает True. Это самый идиоматичный способ в Python: пустой список считается «ложным» значением.
Пример 2: через len()
my_list = []
if not len(my_list):
print("the list is empty")
Вывод
the list is empty
Здесь мы явно смотрим на длину списка. Если len(my_list) равно 0, значит элементов внутри нет.
Пример 3: сравнение с []
my_list = []
if my_list == []:
print("The list is empty")
Вывод
The list is empty
[] — это литерал пустого списка. Если my_list не содержит элементов, оно будет равно [].
Как это работает
В Python любые пустые коллекции (списки, кортежи, словари, строки) считаются ложными в логическом контексте. Поэтому конструкции if not my_list: хватит для большинства случаев — это короче и быстрее, чем вызывать len() или сравнивать с пустым литералом.