Как проверить пустой ли словарь python
Перейти к содержимому

Как проверить пустой ли словарь python

  • автор:

Как проверить, пустой ли словарь в платформе робота, используя python

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

Запуск ключевого слова, если ‘$’=='[]’ ОШИБКА, и ошибка, которую я получил:

Оценка выражения »[]’=='[]» не удалась: SyntaxError: недопустимый синтаксис (, строка 1)

Поделиться Источник 25 февраля 2015 в 05:55

2 ответа

Ваш синтаксис работает для меня. Странно, что он не работает для вас.

Вот еще один способ достичь этого, используя Get Length:

*** Settings *** Library Collections *** Test Cases *** dict_empty $ = create dictionary $ = Get Length $ Run Keyword If $ == 0 log to console Empty Dict 

Поделиться 25 февраля 2015 в 09:19

Чтобы проверить, пуст ли словарь в робот-фреймворке, можно использовать автоматическую переменную словаря «&»:

Run Keyword if $ == & 'Some Action Keyword' 

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

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

Решение 1. Использование рекомендованного стиля PEP 8.

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

Согласно официальным документам, вот большинство встроенных объектов, которые считаются ложными:

  1. константы, определенные как ложные: None и False .
  2. ноль любого числового типа: 0, 0.0, 0j, Decimal (0), Fraction(0, 1)
  3. пустые последовательности и коллекции: «, (), [], <>, set(), range(0)

Поскольку пустой список — это просто пустая коллекция, он будет преобразован в логическое значение False .

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

В первом подходе, если список содержит значение, тогда условие if оценивается как True, и блок if выполняется, в противном случае условие оценивается как False и переходит к блоку else .

my_list = [] if my_list: print("List is not Empty") else: print("List is Empty") 
List is Empty 

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

my_list = [] if not my_list: print("List is Empty") else: print("List is not Empty") 
List is Empty 

Решение 2. Использование метода bool()

Другой подход состоит в том, чтобы проверить, пуст ли список или нет, используя метод bool() . Функция bool() возвращает логическое значение объекта, т. е. либо True , либо False .

Этот подход менее распространен, поскольку мы можем достичь желаемых результатов, не используя метод bool() , как показано в рекомендуемом стиле PEP-8.

my_list = [] if bool(my_list): print("List is not Empty") else: print("List is Empty") 
List is Empty 

Решение 3. Использование метода len().

Метод len() — еще один популярный способ проверить, пуст ли список в Python. Он возвращает длину переданного ему аргумента. Если длина равна 0, это означает, что список пуст.

Здесь можно использовать две техники.

Первый метод заключается в использовании проверки истинности. Если список пуст, метод len() возвращает 0, который внутренне приводится к логическому значению False .

my_list = [] if len(my_list): print("List is not Empty") else: print("List is Empty") 
List is Empty 

Вторая техника довольно проста. Мы будем использовать оператор сравнения, чтобы проверить, равна ли длина списка 0. Основное преимущество этого метода заключается в том, что код становится более читаемым и понятным для новичков в Python.

Если длина списка равна 0, то условие выполняется, и можно сделать вывод, что это пустой список.

my_list = [] if len(my_list) == 0: print("List is Empty") else: print("List is not Empty") 
List is Empty 

Решение 4. Сравнение с пустым списком []

Этот подход довольно прост для начинающих. Здесь мы сравниваем существующий список с новым пустым списком [] внутри условия if. Если условие удовлетворяется, это означает, что список пуст и выполняется блок if, в противном случае выполняется блок else.

my_list = [] if my_list == []: print("List is Empty") else: print("List is not Empty") 
List is Empty 

Вывод

В Python есть несколько способов проверить, пуст ли список, самый питонический способ — использовать подход в стиле PEP-8, который называется «Проверкой истинности» . Другой альтернативный подход заключается в использовании метода len() с оператором сравнения или методом bool() .

Как проверить наличие словаря во вложеном списке

Author24 — интернет-сервис помощи студентам

Ребята изучаю словари. Как правильно написать проверку, чтобы убедиться, есть ли словарь во вложенном списке.

Ниже проверка, которая не работает, она выводит принт ‘полный’, когда есть словарь в списке и когда его нет.

1 2 3 4 5 6 7 8
#rooms = <'floor':[<"name": "Стартовая комната">]> rooms = {'floor':[]} if rooms['floor']==0: print('пустой') else: print('полный')

Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Как проверить наличие значения словаря словаря в словаре словарей?
есть массив parsdata, который содержит результаты парсинга. нужно проверить, спарсилось ли что-то.

Как проверить результат linq на наличие в списке элементов?
using System; using System.Collections; using System.Collections.Generic; using System.Linq;.

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

Проверить наличие эллемента в списке
Всем доброго времени суток. Возникла проблема. Не могу понять почему не работает программа.

Проверить наличие элемента в списке)
Здравствуйте). Я сформировал список,нашел в нем средний арифметический элемент,НО я не знаю как.

Python: Эффективный способ проверить, пуст ли словарь или нет

Как проверить, пуст ли словарь или нет? Если конкретно, моя программа начинается с некоторого ключа в словаре, и у меня есть цикл, который перебирает, пока в словаре нет ключа. В целом, что происходит, так:

Начните с какого-то ключа в словаре
в то время, когда в словаре есть ключ
выполните какую-то операцию с первым ключом в словаре
удалите первый ключ

Обратите внимание, что некоторая операция в вышеуказанном цикле может добавлять новые ключи в словарь. Я попробовал for key,value in d.iteritems()

но это не работает, так как во время цикла while добавляется какой-то новый ключ.

Поделиться Источник 09 ноября 2012 в 16:29

7 ответов

Это вернет true, если словарь d содержит хотя бы один ключ типа truelike, в противном случае false.

Другой (более общий) способ — проверить количество элементов:

Поделиться 27 июня 2013 в 15:37

Просто проверьте словарь:

d = if d: print 'not empty' else: print 'empty' d = <> if d: print 'not empty' else: print 'empty' 

Поделиться 01 апреля 2014 в 18:25

Я просто хотел узнать, будет ли словарь, в котором я собираюсь попытаться получить данные, в первую очередь, это кажется самым простым способом.

d = <> bool(d) #should return False d = bool(d) #should return True 

Поделиться 15 февраля 2014 в 02:41

Это сделает это:

while d: k, v = d.popitem() # now use k and v . 

Словарь в логическом контексте является Ложь, если он пустой, в противном случае True.

В словаре нет «первого» элемента, потому что словари не упорядочены. Но popitem будет удалять и возвращать некоторый элемент для вас каждый раз.

Поделиться 09 ноября 2012 в 16:32

Я бы сказал, что этот способ более питоничен и подходит для строки:

Если вам нужно проверить значение только с помощью вашей функции:

if filter( your_function, dictionary.values() ): .

Когда вам нужно знать, содержит ли ваш словарь ключи:

В любом случае, использование циклов здесь не является Python-путью.

Поделиться 09 ноября 2012 в 20:57

Вот еще один способ сделать это:

isempty = (dict1 and True) or False 

если dict1 пустой, то dict1 и True выдают <>, и это при разрешении с False выдает False.

если dict1 не пустой, то dict1 и True выдает True, а это при разрешении с False выдает True

Поделиться 14 августа 2013 в 19:48

Насколько я знаю, цикл for использует функцию iter и вы не должны возиться со структурой при итерации по ней.

Должен ли он быть словарем? Если вы используете список, что-то вроде этого может сработать:

while len(my_list) > 0: #get last item from list key, value = my_list.pop() #do something with key and value #maybe my_list.append((key, value)) 

Обратите внимание, что my_list — это список кортежа (ключ, значение). Единственный недостаток — это то, что вы не можете получить доступ по ключу.

РЕДАКТИРОВАНИЕ: Неважно, что ответ выше в основном тот же.

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

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