Python проверка что список не пустой

Как проверить, пуст ли список в Python С примерами

В python есть несколько способов проверить, пуст ли список. Мы должны использовать ключевое слово “не”, так как это самый питонический метод. Давайте научимся проверять

Как проверить, пуст ли список в Python С примерами

Список-это одна из наиболее часто используемых структур данных в python, и каждый программист Python должен знать об операциях, которые могут быть выполнены со списком. Иногда, как программист, прежде чем выполнять какие-либо операции со списком в python, нам нужно проверить, пуст ли список или нет. Потому что если мы попытаемся выполнить операции из пустого списка, то получим ошибку.

По пустому списку у нас есть список, но в нем нет элементов. Давайте узнаем некоторые из наиболее рекомендуемых и распространенных способов проверить, является ли список пустым или нет.

Проверьте, является ли список пустым, сравнивая Его Непосредственно С Пустым Списком.

Мы можем непосредственно проверить, является ли список пустым или нет, используя условный оператор.

Во-первых, давайте посмотрим, как выглядит пустой список в python-

Мы можем использовать вышеприведенный вывод и сравнить его с нашим списком, чтобы проверить, пуст ли он.

Программа для удаления всех элементов списка

Чтобы проверить, пуст ли список

Использование функции python len() для проверки пустоты списка

Использование ключевого слова ‘not’ в python для проверки пустоты списка

Использование ключевого слова ‘not’ является наиболее питоническим способом и настоятельно рекомендуется разработчиками python. Итак, давайте посмотрим, как выглядит код, и тогда мы поймем, что происходит за сценой.

В приведенном выше коде ‘if not list1’ означает, что если у нас нет ничего в списке, выполните оператор if, в противном случае выполните оператор else. Python способствует использованию повседневных английских слов, поэтому мы должны попробовать использовать этот метод. Кроме того, вычислительно он оценивает результаты быстрее.

Использование ключевого слова » Is » в python для проверки пустоты списка

Явное сравнение

Здесь мы сравним наш список с пустым списком.

Проверка пустоты массива Numpy

Предположим, если у нас есть массив numpy и мы хотим проверить, пуст он или нет, мы используем вышеприведенные методы. Некоторые из вышеперечисленных методов дадут ошибку, а некоторые дадут href=»https://en.wikipedia.org/wiki/Warning_system»>предупреждение. Не верьте моим словам, попробуйте использовать вышеприведенные методы на массиве numpy, я сделаю один для вас. href=»https://en.wikipedia.org/wiki/Warning_system»>предупреждение. Не верьте моим словам, попробуйте использовать вышеприведенные методы на массиве numpy, я сделаю один для вас.

Здесь мы ясно видим, что получаем предупреждение о том, что старайтесь избегать таких методов, поскольку они будут устаревать в будущем.

Лучше использовать функцию «размер» массива, чтобы проверить, является ли массив пустым или нет.

Должен Читать

Вывод

Попробуйте запустить программы на вашей стороне и дайте нам знать, если у вас есть какие-либо вопросы.

Источник

Как проверить, если список пуст?

Например, если передано следующее:

Как проверить, является ли a пустым?

22 ответа

Я предпочитаю это явно:

Похоже, что другие люди обобщают вопрос не только для списков, поэтому я решил добавить предостережение для другого типа последовательности, которую многие люди могут использовать, тем более что это первый хит в Google для «тест пустого массива Python».

Другие методы не работают для пустых массивов

«Питонический» способ не работает: часть 1

«Питонический» способ не работает с массивами numpy, потому что numpy пытается преобразовать массив в массив из bool и if x пытается оценить все эти bool в однажды для некоторой совокупной ценности правды. Но это не имеет никакого смысла, поэтому вы получите ValueError :

«Питонический» способ не работает: часть 2

Но ясно, что x существует и не является пустым! Этот результат не тот, который вы хотели.

Использование len может дать неожиданные результаты

возвращает 1, даже если в массиве нет элементов.

Numpythonic путь

Это заставит проверку x.size работать во всех случаях, которые я вижу на этой странице.

Пустой список сам по себе считается ложным в тестировании истинного значения (см. документация по питону ):

В вашей коллекции утилит должно быть __nonzero__ или __len__ так что if a: будет работать без проблем.

Лучший способ проверить, пуст ли список

Например, если передано следующее:

Как проверить, пусто ли значение?

Короткий ответ:

Обращение к власти

Для последовательностей (строк, списков, кортежей) используйте тот факт, что пустые последовательности являются ложными.

Мы должны ожидать, что стандартный библиотечный код должен быть максимально быстрым и корректным. Но почему это так, и зачем нам это руководство?

Описание

Я часто вижу подобный код от опытных программистов, плохо знакомых с Python:

А у пользователей ленивых языков может возникнуть соблазн сделать это:

Они правильные на других языках. И это даже семантически правильно в Python.

Но мы считаем, что это не-Pythonic, потому что Python поддерживает эту семантику непосредственно в интерфейсе объекта списка посредством логического приведения.

Из документов (и обратите особое внимание на включение пустого списка, [] ):

И документация по датамоделю:

Работа с Pythonic обычно окупается в производительности:

Это окупается? (Обратите внимание, что чем меньше времени для выполнения эквивалентной операции, тем лучше:)

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

Мы видим, что либо проверяет длину с помощью встроенной функции len по сравнению с 0 или проверка пустого списка на намного менее производительна, чем использование встроенного синтаксиса языка как документированы.

Для проверки len(a) == 0 :

Затем он должен вызвать функцию, загрузить 0 и выполнить сравнение на равенство в Python (вместо C):

А для [] == [] необходимо создать ненужный список, а затем снова выполнить операцию сравнения на виртуальной машине Python (как в отличие от C)

Данные из источника C и документации

Мне очень понравилось исследовать это, и я трачу много времени, отрабатывая свои ответы. Если вы считаете, что я что-то пропускаю, сообщите мне об этом в комментарии.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *