Python: Добавление пары Ключ:Значение в Словарь

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

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

Словари в Python - это полезные структуры данных, представляющие собой хеш-таблицы, что позволяет эффективно и быстро извлекать данные. Они состоят из пар ключ:значение, что дает возможность искать ключ и возвращать его значение. Словари создаются с помощью фигурных скобок, {}. Ключи должны быть неизменяемыми и уникальными, а значения могут быть любого типа данных (включая другие словари) и не обязательно уникальными.

Оглавление

Добавьте элемент в словарь Python

Самый простой способ добавить элемент в словарь Python — просто присвоить значение новому ключу. У словарей Python нет метода для добавления новой пары ключ:значение. Поэтому прямое присвоение является основным способом добавления новых элементов в словарь.

Давайте рассмотрим, как можно добавить элемент в словарь:

# Добавление элемента в словарь Python
dictionary = {'Nik': 32, 'Kate': 32, 'Jane': 41, 'Doug': 23}

dictionary['Evan'] = 30
print(dictionary)

# Возвращает: {'Nik': 32, 'Kate': 32, 'Jane': 41, 'Doug': 23, 'Evan': 30}

Мы видим, что мы смогли легко добавить новую пару ключ:значение в словарь, напрямую присвоив значение несуществующему ключу.

Что можно использовать в качестве ключей словаря?

Важно отметить, что в качестве ключей словаря в Python можно использовать множество различных элементов. Например, мы можем использовать строки, целые числа, кортежи – любые неизменяемые элементы, которые еще не существуют. Однако мы не можем использовать изменяемые элементы (такие как списки) в качестве ключей словаря.

В следующем разделе вы узнаете, как использовать прямое присваивание для обновления элемента в словаре Python.

Обновление элемента в словаре Python

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

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

# Обновление элемента в словаре Python
dictionary = {'Nik': 32, 'Kate': 32, 'Jane': 41, 'Doug': 23}

dictionary['Nik'] = 30
print(dictionary)

# Возвращает: {'Nik': 30, 'Kate': 32, 'Jane': 41, 'Doug': 23}

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

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

Добавление нескольких элементов в словарь Python с помощью цикла For

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

Давайте посмотрим, как мы можем пробежаться по двум спискам, чтобы создать словарь:

# Итерация по двум спискам для создания словаря
keys = ['Nik', 'Kate', 'Jane']
values = [32, 31, 30]
dictionary = {}

for i in range(len(keys)):
    dictionary[keys[i]] = values[i]

print(dictionary)

# Возвращает: {'Nik': 32, 'Kate': 31, 'Jane': 30}

Здесь мы перебираем каждое значение от 0 до длины списка минус 1, чтобы получить доступ к индексам наших списков. Затем мы обращаемся к i-му индексу каждого списка и назначаем их ключам и значениям наших списков.

На самом деле, есть гораздо более простой способ сделать это – использовать функцию zip в Python, о которой вы узнаете в следующем разделе.

Добавьте несколько элементов в словарь Python с помощью Zip

Функция Python zip() позволяет итерировать по двум итерируемым объектам одновременно. Это избавляет нас от необходимости использовать неудобную функцию range() для доступа к индексам элементов в списках.

Посмотрим, как это выглядит на Python:

# Итерация по двум спискам для создания словаря, используя zip
keys = ['Nik', 'Kate', 'Jane']
values = [32, 31, 30]
dictionary = {}

for key, value in zip(keys, values):
    dictionary[key] = value

print(dictionary)

# Возвращает: {'Nik': 32, 'Kate': 31, 'Jane': 30}

Преимущество этого подхода заключается в его большей читаемости. Индексы Python могут быть сложны для начинающих разработчиков. Функция zip позволяет легко понимать, что происходит в коде. Мы можем использовать функцию zip для именования элементов итератора, а также для простого объединения двух списков в словарь.

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

Заключение

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

Чтобы узнать больше о словарях Python, ознакомьтесь с официальной документацией здесь.

Дополнительные ресурсы

Чтобы узнать больше о связанных темах, ознакомьтесь со статьями ниже:

  • Python: Pretty Print a Dict (словарь) – 4 способа

  • Python: проверьте, пуст ли словарь (5 способов!)

  • Python: проверьте, существует ли ключ (или значение) в словаре (5 простых способов)

  • Python: удалить ключ из словаря (4 разных способа)

  • Объединение словарей Python – 4 разных способа

Last updated