170 похожих чатов

Привет всем. Функция должна получать словарь с тремя заданными ключами

"name", "emails", "subject", как мне проверить, чтобы эти три ключа там присутствовали? И как в зависимости от отсутствующего ключа вывести кастомное сообщение об ошибке?
Делать так не хочется:

some_dict: Dict[str, Any]
if not some_dict.get("name"):
raise CustomError("'name' is missing")
elif not some_dict.get("emails"):
raise CustomError("'emails' is missing")
elif not some_dict.get("subject"):
raise CustomError("'subject' is missing")

12 ответов

4 просмотра

Ну если нужно проверить только наличие можешь написать цикл

использовать датаклассы?

Yehor- Автор вопроса

ты не проверяекшь наличие ключа в этом коде

elif тут не нужен, а тк да, иначе никак

Yehor
Нужен именно словарь

for key in ['name', 'emails', 'subject']: if key not in some_dict: raise CustomError(f"{key} is missing")

Yehor- Автор вопроса
Alex
for key in ['name', 'emails', 'subject']: if k...

if not somedict.keys() & {"name", "emails", "subject"}f

Tishka17
if not somedict.keys() & {"name", "emails", "subje...

Ну тогда {"name", "emails", "subject"} - somedict.key() или как-то так

^

твой же код проверяет не наличие ключа, а заодно и значение. Например, если в словаре по ключу будут None или пустая строка

Yehor- Автор вопроса

Похожие вопросы

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Ребят, что лучше для реверса: гидра или ида?
En Vind Av Sorg
23
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Делаю велосипед логгер. К сообщению хочу прикрутить некоторую информацию, типа, кем отправлено, какой уровень, и всякое такое. И тут подумалось мне, почему бы не хранить весь...
Serjone
24
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
а не подскажете вот это скрин из какой IDE ?
Iluha Companets
14
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
Народ всем привет Подскажите, как включить самописные dll библиотеки в итоговую сборку Сейчас при запуске dev сервера локально формируется папка build, из которой запускается...
Андрей
4
Комрады, подскажите, в дельфях есть компоненты а-ля TDirectorySelect?
Ed Doc
15
Карта сайта