В этой статье мы сосредоточимся на полном пошаговом обзоре структуры данных словаря Python.

Оглавление

  • Что такое словарь Python?
  • Как создать словарь Python
  • Как получить доступ к значениям из словаря Python
  • Как добавить элементы в словарь Python
  • Как удалить элементы из словаря Python
  • Как изменить элементы в словаре Python
  • Как перебрать словарь Python
  • Вложенные словари в Python

Что такое словарь Python?

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

Как создать словарь Python

Пустой словарь

Чтобы инициализировать пустой словарь в Python, мы можем просто запустить приведенный ниже код и распечатать его содержимое:

Вы должны получить:

{}

Словарь со значениями

Когда мы хотим создать словарь с некоторыми значениями, которые мы хотим заполнить, мы добавляем значения в виде последовательности пар ключ-значение, разделенных запятыми. Например, предположим, что мы хотим создать словарь со странами в качестве ключей и их населением в качестве значений:

Вы должны получить:

{'China': 1439323776, 'India': 1380004385, 'USA': 331002651, 'Indonesia': 273523615, 'Pakistan': 220892340, 'Brazil': 212559417}

Как получить доступ к значениям из словаря Python

Чтобы получить доступ к значениям, хранящимся в словаре Python, мы должны использовать ключ, связанный со значением. Например, предположим, что мы хотим получить население США из приведенного выше словаря countries. Мы знаем, что ключом значения населения является «США», и мы используем его для доступа к значению населения:

Вы должны получить:

331002651

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

Как добавить элементы в словарь Python

В этом разделе мы продолжаем работать со словарем countries и обсуждаем способы добавления элементов в словарь Python.

Добавить один элемент

Допустим, мы хотим добавить другую страну с ее населением в наш словарь countries. Например, мы хотим добавить население Японии в 126 476 461 человек. Мы можем легко сделать это, добавив его как дополнительную пару ключ-значение в словарь:

Вы должны получить:

{'China': 1439323776, 'India': 1380004385, 'USA': 331002651, 'Indonesia': 273523615, 'Pakistan': 220892340, 'Brazil': 212559417, 'Japan': 126476461}

И вы можете видеть, что мы успешно добавили новый элемент в словарь.

Добавить несколько элементов

А что, если мы хотим добавить более одной страны? Допустим, теперь мы хотим добавить в наш словарь еще две страны с их населением. Например, Россия и Мексика с населением 145 934 462 и 128 932 753 человека соответственно.

Будет ли работать тот же синтаксис? Ну не совсем. Поэтому нам понадобится метод .update() структуры данных словаря Python. Это позволяет добавить в словарь несколько пар ключ-значение, разделенных запятыми.

Логика заключается в том, чтобы создать новый словарь (new_countries) из новых пар "ключ-значение", а затем объединить его со словарем countries:

Вы должны получить:

{'China': 1439323776, 'India': 1380004385, 'USA': 331002651, 'Indonesia': 273523615, 'Pakistan': 220892340, 'Brazil': 212559417, 'Japan': 126476461, 'Russia': 145934462, 'Mexico': 128932753}

И вы можете видеть, что мы успешно добавили новые элементы в словарь.

Как удалить элементы из словаря Python

В этом разделе мы продолжаем работать со словарем countries и обсуждаем способы удаления элементов из словаря Python.

Удалить один элемент

Допустим, нам нужно внести некоторые изменения и удалить из словаря пару ключ-значение для Китая и его населения. Мы можем легко удалить его с помощью метода .pop():

Вы должны получить:

{'India': 1380004385, 'USA': 331002651, 'Indonesia': 273523615, 'Pakistan': 220892340, 'Brazil': 212559417, 'Japan': 126476461, 'Russia': 145934462, 'Mexico': 128932753}

И вы можете видеть, что мы успешно удалили элемент из словаря.

Удалить несколько элементов

Следующий шаг — изучить, как удалить несколько элементов из словаря Python. Допустим, мы хотим удалить Японию и Мексику и их соответствующее население из словаря countries.

Мы знаем, что метод .pop() позволяет удалить один элемент за вызов функции, что дает нам представление о том, что если мы перебираем список с ключами, которые хотим удалить, мы можем успешно вызвать .pop() для каждой записи:

Вы должны получить:

{'India': 1380004385, 'USA': 331002651, 'Indonesia': 273523615, 'Pakistan': 220892340, 'Brazil': 212559417, 'Russia': 145934462}

И вы можете видеть, что мы успешно удалили элементы из словаря.

Как изменить элементы в словаре Python

Еще одна функциональность, которую следует рассмотреть, — это изменение элементов в словаре Python. В разделах ниже вы увидите, что функциональность изменения элементов идентична функциональности добавление элементов.

Почему это? Это происходит потому, что когда мы пытаемся добавить новые элементы в словарь, Python ищет тот конкретный ключ, который мы пытаемся добавить, и, если ключ существует в словаре, он переопределяет данные; но если ключ не существует, он добавляет в словарь новую пару ключ-значение.

Изменить один элемент

Допустим, мы хотим обновить значение населения Бразилии до 2 12560000 в словаре countries:

Вы должны получить:

{'India': 1380004385, 'USA': 331002651, 'Indonesia': 273523615, 'Pakistan': 220892340, 'Brazil': 212560000, 'Russia': 145934462}

Изменить несколько элементов

Теперь предположим, что мы хотим обновить значения населения Индонезии и Пакистана до 273530000 и 220900000 в словаре countries соответственно.

Логика заключается в создании нового словаря (update_countries) из новых пар "ключ-значение", а затем обновлении существующих пар "ключ-значение" в словаре countries:

И вы должны получить:

{'India': 1380004385, 'USA': 331002651, 'Indonesia': 273530000, 'Pakistan': 220900000, 'Brazil': 212560000, 'Russia': 145934462}

Как перебрать словарь Python

В этом разделе мы сосредоточимся на различных способах перебора словаря Python.

Итерация по ключам словаря

Допустим, мы хотим перебрать ключи словаря countries и вывести каждый ключ (в нашем случае каждую страну) на отдельной строке.

Мы просто будем использовать цикл for вместе со словарным методом .keys():

И вы должны получить:

India
USA
Indonesia
Pakistan
Brazil
Russia

Перебирать значения словаря

Другой вариант использования может заключаться в том, что мы хотим найти сумму населения всех стран, хранящуюся в словаре countries.

Как вы понимаете, нам снова нужно будет использовать цикл for, а также теперь мы будем использовать метод словаря .values():

И вы должны получить:

2563931498

Итерация по элементам словаря

А элементом словаря Python является его пара ключ-значение. Это позволяет нам выполнять итерацию по ключам и значениям вместе.

Как мы можем это использовать? Допустим, вы хотите найти страну с наибольшим населением из словаря countries. Итерация по каждому элементу словаря позволяет нам отслеживать как ключи, так и значения вместе:

И вы должны получить:

India 1380004385

Вложенные словари в Python

Вложенный словарь — это словарь, состоящий из других словарей.

Аналогичным способом создания словарей можно создавать вложенные словари.

Например, допустим, мы хотим создать словарь, в котором будет информация о столице каждой страны, а также о ее населении:

И вы должны получить:

{'China': {'capital': 'Beijing', 'population': 1439323776}, 'India': {'capital': 'New Delhi', 'population': 1380004385}, 'USA': {'capital': 'Washington, D.C.', 'population': 331002651}, 'Indonesia': {'capital': 'Jakarta', 'population': 273523615}, 'Pakistan': {'capital': 'Islamabad', 'population': 220892340}, 'Brazil': {'capital': 'Brasilia', 'population': 212559417}}

Заключение

Эта статья представляет собой вводное знакомство со словарем Python и его методами, которые важно изучить, поскольку они используются во многих областях программирования и машинного обучения.

Не стесняйтесь оставлять комментарии ниже, если у вас есть какие-либо вопросы или предложения по некоторым изменениям.

Первоначально опубликовано на https://pyshark.com 21 ноября 2021 г.