В этой статье мы сосредоточимся на полном пошаговом обзоре структуры данных словаря 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 г.