Дан словарь d = {"country": "RU"}. Нужно прочитать значение по ключу "city", а если ключа нет — вернуть строку "unknown" без исключения. Что подходит?

Ad["city"] or "unknown"
Bd.get("unknown", "city")
Cd.get("city", "unknown")
Dd.setdefault("city", "unknown")
Правильный ответ. .get(key, default) возвращает значение по ключу или значение по умолчанию и не выбрасывает KeyError.

Разбор

Обращение d["city"] выбросит KeyError, если ключа нет. Метод .get("city", "unknown") безопасно вернёт значение по ключу, а при его отсутствии — строку по умолчанию. Если второй аргумент не передавать, .get("city") вернёт None. Метод .setdefault("city", "unknown") тоже вернёт значение по ключу или дефолт, но при отсутствии ключа дополнительно запишет его в словарь — это побочный эффект, который часто нежелателен.

Проверь себя · 1/3разбор после ответа
Дан список nums = [10, 20, 30, 40]. Чему равен результат выражения nums[1:3]?
Тренировать Python в Telegram

Ещё вопросы по теме «Коллекции и структуры данных»