07 Июл 2023
2 мин
864

Использование dict.get(key) вместо dict[key] в Python

В Python словари являются одной из основных структур данных, которые предоставляют возможность хранения данных в парах ключ/значение. Для доступа к значению

Содержание

В Python словари являются одной из основных структур данных, которые предоставляют возможность хранения данных в парах ключ/значение. Для доступа к значению по ключу обычно используется синтаксис dict[key]. Например:

dictionary = {"Name": "Harry", "Age": 17}
print(dictionary["Name"])  # Вывод: Harry

Однако, в Python есть метод dict.get(key), который также позволяет получить значение по ключу.

dictionary = {"Name": "Harry", "Age": 17}
print(dictionary.get("Name"))  # Вывод: Harry

С первого взгляда, может показаться, что оба подхода эквивалентны. Однако, есть важное различие, заложенное в их поведении при обращении к несуществующему ключу.

Если попытаться обратиться к несуществующему ключу через dict[key], Python сгенерирует исключение KeyError:

dictionary = {"Name": "Harry", "Age": 17}
print(dictionary["Height"])  # KeyError: 'Height'

В то время как dict.get(key) просто вернет None, не вызывая ошибку:

dictionary = {"Name": "Harry", "Age": 17}
print(dictionary.get("Height"))  # Вывод: None

Это делает метод get очень удобным для использования, когда нет уверенности в наличии ключа в словаре. При этом можно также задать второй аргумент для get, который будет возвращаться, если ключ отсутствует в словаре:

dictionary = {"Name": "Harry", "Age": 17}
print(dictionary.get("Height", "Unknown"))  # Вывод: Unknown

Таким образом, выбор между dict[key] и dict.get(key) зависит от конкретной ситуации и от того, как нужно обрабатывать случаи отсутствия ключа в словаре.

Содержание

Добавить комментарий

Определи профессию по рисунку