Автор оригинала: Guest Contributor.
Как проверить, пуст ли список в Python
Вступление
Списки-это одна из четырех наиболее часто используемых структур данных, предоставляемых Python. Его функциональность, расширяемость и простота использования делают его полезным для реализации различных типов функциональных возможностей.
Списки Python имеют несколько интересных характеристик:
- Изменчивость – означает, что он может изменяться, что означает, что он позволяет нам легко добавлять и удалять записи из него. Это основное различие между списками Python и кортежами
- Итерабельность – что означает, что мы можем итерировать через него (пройти через все элементы в списке по порядку)
Основным атрибутом, на котором будет сосредоточено внимание, является Итеративность . Важной частью при работе с итеративным объектом, в данном случае списком, является проверка того, есть ли что-то для итерации. Если не обращаться с ними должным образом, это может привести к большому количеству нежелательных ошибок.
Python предоставляет различные способы проверки того, пуст наш список или нет, некоторые неявные и некоторые явные, и в этой статье мы рассмотрим как проверить, пуст ли список Python .
- Использование функции len()
- Использование len() С Оператором сравнения
- Сравнение с пустым списком
- Pep-8 Рекомендуемый стиль (Самый популярный и рекомендуемый)
- Использование функции bool()
Использование функции len()
Один из методов состоит в том, чтобы использовать функцию len ()
, чтобы проверить, пуст ли наш список или нет:
py_list = [] """ Here len() returns 0, which is implicitly converted to false """ if len(py_list): print('The list is not empty') else: print('T list is empty')
Выход
List is empty
Когда len(py_list)
выполняется, он производит ноль, который затем неявно приводится к логическому значению False
. Таким образом, в случае пустого списка программа будет перенаправлена в блок else.
Хотя этот метод выглядит простым, он не настолько интуитивно понятен для начинающих.
Использование len() С Оператором Сравнения
Эта техника похожа на описанную выше, но она более ясна и понятна. Вот почему те, кто новичок в python или самом кодировании, обычно считают его более интуитивным:
if len(py_list) == 0: print('List is empty') else: print('List not empty')
В приведенном выше коде len(py_list)
будет true, если список пуст и будет перенаправлен в блок else. Это также позволяет вам устанавливать и другие значения, а не полагаться на них. 0
преобразуется как False
. Все остальные положительные значения преобразуются в Правда
.
Сравнение С Пустым Списком
Этот метод также очень прост и хорошо работает для начинающих, так как он включает в себя сравнение с пустым списком:
if py_list == []: print('List is empty') else: print('List is not empty')
Здесь мы снова используем операцию сравнения для сравнения одного списка с другим – am empty one, и если оба списка пусты, то будет выполнен блок if
.
Рекомендуемый стиль Pep-8
#PEP-8 recommended style if py_list: print('List is not empty') if not py_list: print('List empty')
Для этого давайте взглянем на Тестирование истинностных значений . Официальные документы утверждают, что:
Вот большинство встроенных объектов,которые считаются ложными:
- константы, определенные как false: None и False.
- константы, определенные как false: None и False.
- ноль любого числового типа: 0, 0.0, 0j, Десятичная дробь(0), Дробь(0, 1)
Поскольку пустой список на самом деле является просто пустой коллекцией, он будет преобразован в логическое значение False
. Поэтому, если py_list
пуст, он будет преобразован в False
.
Второе утверждение довольно похоже, за исключением того, что not
инвертирует ложное условие в истинное. Этот подход очень похож на if(len(list))
подход.
Это предпочтительный подход, поскольку это самое чистое и короткое решение.
Это предпочтительный подход, поскольку это самое чистое и короткое решение.
Мы также можем использовать функцию bool()
для проверки пустоты списка:
#As truth value testing says [] braces denotes false if bool(py_list): print('List is not empty') else: print('List is empty')
Это в основном вручную реализованный тест истинностного значения. Поэтому, если список не пуст, функция вернет True
и если блок будет выполнен.
Этот подход менее распространен , так как мы можем достичь желаемых результатов даже без использования bool ()
, но это не так уж плохо.
Этот подход менее распространен , поскольку мы можем достичь желаемых результатов даже без использования || bool ()||, но неплохо знать, как работает Python под капотом.
Эта статья была посвящена тому, как проверить, пуст ли наш список python или нет. Мы начали с изучения различных техник и, наконец, изучили некоторые параметры, которые мы можем использовать, чтобы сделать наше суждение о том, какая техника может работать для нас.
Я не могу сказать, что это конец, поскольку новые обновления Python могут привести к появлению новых и более совершенных стилей кодирования. Так что лучше продолжать исследовать и продолжать учиться.