Безопасное добавление значений в список по ключу
При работе со словарями часто требуется инициализировать тип данных, прежде чем его использовать. Наглядный пример — список: его нужно инициализировать для каждого ключа, прежде чем добавлять в него элементы.
defaultdict позволяет задать значение по умолчанию для каждого необъявленного ключа. При создании defaultdict вы передаёте ему нужный тип: list, tuple, set, int, string, dictionary или любой другой допустимый тип.
Вы будете работать с тем же журналом весов, что и в предыдущем упражнении, но теперь — с данными о пингвинах-самцах из нашего исследования.
Это упражнение является частью курса
Типы данных в Python
Инструкции к упражнению
- Импортируйте
defaultdictиз модуляcollections. - Создайте
defaultdictс типом по умолчаниюlistи назовите егоmale_penguin_weights. - Выполните итерацию по списку
weight_log, распаковывая каждый элемент в переменныеspecies,sexиbody_mass, как вы делали в предыдущем упражнении. Используйтеspeciesв качестве ключа словаряmale_penguin_weightsи добавляйтеbody_massв его значение. - Выведите первые 2 элемента словаря
male_penguin_weights. Для этого воспользуйтесь методом.items(). Не забудьте преобразовать результат в список.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Import defaultdict
____
# Create a defaultdict with a default type of list: male_penguin_weights
male_penguin_weights = ____
# Iterate over the weight_log entries
for ____, ____, ____ in ____:
# Use the species as the key, and append the body_mass to it
____
# Print the first 2 items of the male_penguin_weights dictionary
print(____(____)[:2])