Как проверить, пустой ли словарь в платформе робота, используя 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, используя его логическое значение. Его также называют проверкой истинности.
Согласно официальным документам, вот большинство встроенных объектов, которые считаются ложными:
- константы, определенные как ложные: None и False .
- ноль любого числового типа: 0, 0.0, 0j, Decimal (0), Fraction(0, 1)
- пустые последовательности и коллекции: «, (), [], <>, 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() .
Как проверить наличие словаря во вложеном списке

Ребята изучаю словари. Как правильно написать проверку, чтобы убедиться, есть ли словарь во вложенном списке.
Ниже проверка, которая не работает, она выводит принт ‘полный’, когда есть словарь в списке и когда его нет.
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 — это список кортежа (ключ, значение). Единственный недостаток — это то, что вы не можете получить доступ по ключу.
РЕДАКТИРОВАНИЕ: Неважно, что ответ выше в основном тот же.