Загружаем изображение…
Нужно убрать лишние проверки ключей в словарях и сделать код чище?
Используйте
dict.get(key, default), Python вернёт значение, а если ключа нет — подставит дефолт. Без второго аргумента вернёт None.user = {"id": 10, "role": "admin"}
role = user.get("role", "guest")
age = user.get("age", 0)
print(role, age)Выведет:
admin 0Это заменяет более громоздкое:
if "age" in user:
age = user["age"]
else:
age = 0Работает и для вложенных структур:
cfg = {"db": {"port": 5432}}
port = cfg.get("db", {}).get("port", 3306)Полезно в конфигурациях, JSON, формах и везде, где ключи могут отсутствовать (и их не нужно отличать от значений None).
Python Ready | #совет