Полное руководство по вложенным словарям в Python
В этом уроке вы узнаете о вложенных словарях Python – словарях, которые являются значениями другого словаря. Вы научитесь создавать вложенные словари, получать доступ к их элементам, изменять их и многое другое. Вы также узнаете, как работать с вложенными словарями для их преобразования в Pandas DataFrame.
В конце этого учебника вы узнаете:
Какие вложенные словари есть в Python
Как создавать вложенные словари в Python
Как получить доступ, изменить и удалить элементы во вложенных словарях
Как преобразовать вложенные словари в DataFrames Pandas
Оглавление
Вложенные словари Python
Python-словарь — это контейнерная структура данных, которая хранит пары ключ:значение
. Они создаются с помощью фигурных скобок {}
, где значение можно найти, обратившись к его уникальному ключу. Давайте рассмотрим простой пример словаря:
В приведенном выше словаре у нас есть элемент под названием user
. Мы можем получить доступ к его значениям, ссылаясь на ключи словаря. Скажем, мы хотим получить значение словаря для ключа 'Name'
, мы могли бы написать:
Интересный аспект словарей Python заключается в том, что в качестве их значений мы можем использовать другие словари. Это подводит нас к основной теме этой статьи.
Предположим, мы хотим создать словарь, который содержит информацию о пользователях на основе их ID. Давайте создадим словарь, который хранит информацию о нескольких пользователях, распределенную по ID:
В этом примере наш ранний словарь был встроен в новый, более крупный словарь. Мы создали новый, вложенный словарь. В следующем разделе мы разберёмся, как создавать вложенные словари.
Создание вложенных словарей в Python
В этом разделе вы узнаете, как создавать вложенные словари. Вложенные словари — это словари, которые имеют другой словарь в качестве одного или нескольких значений. Давайте рассмотрим, как можно создать вложенные словари в Python.
Давайте рассмотрим пример:
Давайте разберем, что мы здесь сделали:
Мы создали пустой словарь
users
Мы создали два других словаря,
Nik
иKate
Затем мы назначили эти словари значениями соответствующих ключей
1
и2
в словареusers
Доступ к элементам во вложенных словарях в Python
В этом разделе вы узнаете, как получить доступ к элементам вложенного словаря Python. В предыдущем разделе мы рассмотрели использование метода .get()
для доступа к элементам. Давайте посмотрим, что происходит, когда мы пытаемся получить доступ к элементу во вложенном словаре:
Мы видим, что это вернуло словарь! Так как был возвращен словарь, мы можем получить доступ к элементу в возвращенном словаре.
Если мы хотим получить доступ к 'Name'
пользователя 1
, мы можем написать следующее:
Мы можем вызывать метод .get()
несколько раз, так как мы имеем дело со словарем, который находится внутри другого словаря. В следующем разделе вы узнаете, как изменять элементы в вложенном словаре.
Изменение элементов во вложенных словарях в Python
В этом разделе вы узнаете, как изменять элементы во вложенных словарях. Чтобы изменить элементы, мы используем тот же процесс, что и для добавления нового элемента в словарь. В этом случае нам просто нужно перейти немного дальше, к ключу вложенного словаря.
Предположим, мы хотим изменить профессию пользователя 2 на 'Habitat for Humanity'
. Мы можем написать:
В данном случае, мы смогли получить доступ к значению ключа через прямое присваивание. Если бы этот ключ ранее не существовал, то ключ (и значение) были бы созданы.
Удаление элементов во вложенных словарях в Python
Словари Python используют ключевое слово del
для удаления пары key:value
из словаря. Чтобы сделать это в вложенном словаре, нам просто нужно пройти дальше в словарь. Давайте посмотрим, как мы можем удалить ключ 'Profession'
из словаря 1
:
Аналогично, мы можем удалить весь вложенный словарь, используя тот же метод. Поскольку вложенный словарь на самом деле представляет собой пару key:value
в нашем основном словаре, применяется тот же метод. Давайте удалим весь первый словарь 1
:
В следующем разделе вы узнаете, как перебирать вложенные словари в Python.
Перебор вложенных словарей в Python
В этом разделе вы узнаете, как итерировать по вложенным словарям. Это может быть полезно, когда вы хотите вывести значения словаря. Мы можем построить рекурсивную функцию для этого. Давайте посмотрим, как это выглядит:
Преобразование вложенного словаря Python в фрейм данных Pandas
В этом последнем разделе вы узнаете, как преобразовать вложенный словарь в DataFrame Pandas. Мы можем просто передать вложенный словарь в конструктор DataFrame()
. Однако Pandas прочитает DataFrame с ключами в качестве индексов.
Чтобы обойти это, мы можем транспонировать DataFrame, используя метод .T
:
Заключение
В этом руководстве вы узнали о вложенных словарях в Python. Вы узнали, что такое вложенные словари. Затем вы узнали, как получать доступ, изменять и удалять их элементы. Наконец, вы узнали, как итерировать по вложенным словарям, а также как считывать их в DataFrames Pandas.
Дополнительные ресурсы
Чтобы узнать больше о связанных темах, ознакомьтесь с учебными материалами ниже:
Python Defaultdict: обзор и примеры
Python: добавить пару «ключ: значение» в словарь
Python: сортировка словаря по значениям
Слияние словарей Python – объединение словарей (7 способов)
Last updated