Python Списки похожи на массивы с динамическим размером. Один список может содержать такие типы данных, как целые числа, строки, а также объекты. Списки изменяемы, поэтому их можно изменять даже после их создания. Список в Python упорядочен и имеет определенный счетчик.
Проверка пустоты списка с помощью оператора not
if. .not — самый простой способ проверить пустой список Python. Сначала мы определяем пустой список, а затем используем условие if с оператором not. Оператор not проверяет, не находит ли он какой-либо элемент в списке, затем возвращает True. И на основе этого результата мы можем сказать, что если список пуст или нет.
listA = [] если не listA: print ('Список пуст') else: print ('Список not empty ')
Вывод
Список пуст
Оператор Python NOT возвращает True , если операнд False .
Это лучший способ Pythonic проверить, список пуст или нет.
Проверка пустого списка с помощью функции len ()
Функция len () используется для определения количества элементов в списке. Чтобы проверить, пуст ли список или нет, используя len (), мы можем передать пустой список функции len (), и если мы получим 0, то это означает, что список пуст.
listA = [] if not len (listA): print ('Список пуст') else: print ('Список не пуст')
Вывод
Список пуст
Мы также можем использовать двойное значение, равное сравнению с 0, чтобы проверить, пуст ли список.
listA = [] if len (listA) == 0: print ('Список пуст') else: print ('Список не пуст')
Список пуст
Этот метод является явным и не похож на питонический, но вы поймите здесь, как вы можете проверить.
Сравните пустой список с другим пустым списком.
Если мы сравним наш текущий list в [], тогда мы поймем, пуст список или нет.
listA = [] if listA == []: print ('Список пуст') else: print ('Список не пустой')
Вывод
Список пуст
Эти подходы верны для соответствующих языков. И это даже семантически правильно в Python. Но мы считаем это не-Pythonic, потому что Python поддерживает эту семантику непосредственно в интерфейсе объекта списка с помощью логического принуждения.
Из документации (особенно обратите внимание на включение пустого списка, []):
По умолчанию объект считается True , если его класс не определяет либо функцию __bool __ (), которая возвращает False, либо функцию __len __ (), которая возвращает ноль при вызове с объект. Вот большинство встроенных объектов, считающихся False:
- Константы, определенные как False: None и False.
- Ноль любого числового типа: 0 , 0. 0, 0j, Decimal (0), Fraction (0, 1)
- Пустые последовательности и коллекции: ”, (), [], {}, set (), range (0).
PEP 8
PEP 8, официальное руководство по стилю Python для кода Python в стандартной библиотеке Python, утверждает: Для последовательностей (строк, списков, кортежей) используйте тот факт, что пустые последовательности являются False .
Да: если не seq: if seq: Нет: если len (seq): if not len (seq):
Мы должны ожидать, что код стандартной библиотеки должен быть максимально производительным и правильным.
Итак, лучший Pythonic Чтобы проверить, пуст ли список или нет, используется следующий метод.
если не listA: print ('listA - пустой список')
Заключение
Список Python — одна из наиболее часто используемых структур данных в любом виде разработки, и проверка того, является ли список пустым или нет, является наиболее часто используемой операцией. Так что проверка его эффективности полностью имеет смысл, и сделать это способом PEP8 неизбежно. Итак, в этом руководстве мы рассмотрели различные способы, но предложили наиболее питонический.
См. Также
Python list replace
Список Python содержит
Python добавить в список