"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")
Ну если нужно проверить только наличие можешь написать цикл
использовать датаклассы?
Нужен именно словарь
ты не проверяекшь наличие ключа в этом коде
elif тут не нужен, а тк да, иначе никак
for key in ['name', 'emails', 'subject']: if key not in some_dict: raise CustomError(f"{key} is missing")
if not somedict.keys() & {"name", "emails", "subject"}f
Ну тогда {"name", "emails", "subject"} - somedict.key() или как-то так
^
твой же код проверяет не наличие ключа, а заодно и значение. Например, если в словаре по ключу будут None или пустая строка
Спасибо болбшое
Обсуждают сегодня