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 и документации
Мне очень понравилось исследовать это, и я трачу много времени, отрабатывая свои ответы. Если вы считаете, что я что-то пропускаю, сообщите мне об этом в комментарии.