Рубрики
Без рубрики

Как проверить, будет ли список пустого в Python

Манипулирующие списки могут быть веселыми, но он также может привести к некоторым расстраивающим ошибкам, если мы не осторожны. В конце концов, несколько списков пусты. Сегодня мы узнаем, как проверить, является ли список пустым в Python. Теги с программированием, начинающими, Python, учебником.

При попытке начать перекрестную почту, я подумал, что поделился еще одной краткой статьей Python со всеми. Сегодня мы собираемся узнать, как проверить, будет ли список пустым в Python.

Проблема введения

До сих пор мы много играли с структурами данных, такие как списки и словари. С точки зрения списков мы узнали Как суммировать элементы двух списков и мы даже узнали Как преобразовать два списка в словарь Отказ Однако во всех этого списка манипуляции мы никогда не обсуждали, как проверить, является ли список пустым.

Обнаружение пустого списка – это важный навык для изучения разработчика Python. Это позволяет нам обрабатывать ошибки, которые могут возникнуть при попытке манипулировать пустым списком. Например, мы все знаем, что происходит, когда мы пытаемся индексировать пустой список:

Python 3.6.3 (v3.6.3:2c5fed8, Oct  3 2017, 17:26:49) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> my_list = list()
>>> my_list[0]
Traceback (most recent call last):
  File "", line 1, in 
IndexError: list index out of range

Если у нас есть функция, которая выполняет некоторую индексацию, возможно, это хорошая идея, чтобы добавить защитный чек для пустого списка. В конце концов, обрабатывающие краевые чехлы – это важный навык, который нужно учиться для любого кодера.

Растворы

Когда дело доходит до проверки, если список пуст в Python, есть горстка решений. Давайте погрузимся в несколько.

Проверьте, является ли список пустым по длине

Хорошо, поэтому первый метод проверки, если список пуст, это убедиться, что длина списка равна нулю. Как кто-то, кто узнал Java первым, я нахожу это решение очень интуитивно понятно. Посмотри:

my_list = list()
if len(my_list) == 0:
    pass  # the list is empty

Недостаток этого метода заключается в том, что он не очень питон. В конце концов, сообщество Python очень строги к его идиомам, поэтому, возможно, хорошая идея избежать этого метода, если это возможно.

Проверьте, является ли список пустым прямым сравнением

Другое решение, как упомянуто VORSPRUNG, состоит в том, чтобы сравнить список непосредственно в пустой список:

my_list = list()
if my_list == []:
    pass  # the list is empty

Это решение работает так же, как и предыдущая версия, но она также не считается Pythonic. Причина в том, что Python имеет два разных типа списков коллекций: кортежи и списки. Кортежи являются неизменными списками, и сравнение пустого кортежа в пустой список, () ==. [] , вернет ложь.

Независимо от того, оба решения действительны. В следующем разделе мы покроем сообщество, принятый список пустоты.

Проверьте, является ли список пустые по гибкости его типа

Динамическая набравка – это веселая особенность Python, потому что она позволяет переменной принимать много форм. Хотя кто-то с статическим набрательным фоном может найти это расстраивание, другие найдут, что у динамической печати в Python есть свои льготы. Среди этих льгот это тот факт, что Пустые последовательности оценивают ложь Отказ

Итак, что это значит с точки зрения кода? Ну, это означает, что мы можем лечить список, как логический. Например:

my_list = list()
if not my_list:
    pass  # the list is empty

Теперь это может показаться не очень интуитивно понятным, но это принято стандарт PEP 8. Другими словами, это метод, который мы должны использовать в производственном коде.

Немного повтора

Сегодняшняя тема – это то, как проверить, является ли список пустым в Python. Как всегда, в этом разделе мы делаем небольшое изменение решений, которые мы поделились выше:

my_list = list()

# Check if a list is empty by its length
if len(my_list) == 0:
    pass  # the list is empty

# Check if a list is empty by direct comparison
if my_list == []:
    pass  # the list is empty

# Check if a list is empty by its type flexibility **preferred method**
if not my_list:
    pass  # the list is empty

И с этим мы закончили. Еще раз, спасибо за остановку. Надеюсь, это было полезно!

Оригинал: “https://dev.to/renegadecoder94/how-to-check-if-a-list-is-empty-in-python-1mb7”