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() или сравнивать с пустым литералом.