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

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

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

Допустим, у нас есть словарь myDict и пара ключ-значение myKey и myValue. Мы можем добавить эту пару ключ-значение в наш словарь, используя синтаксис myDict [myKey] = myValue. Пример:

myDict = {"name": "PythonTurbo", "acronym": "PT"}
print("Original Dictionary is:", myDict)
myDict["niche"] = "programming"
print("Modified Dictionary is:", myDict)

Результат:

Original Dictionary is: {'name': 'PythonTurbo', 'acronym': 'PT'}
Modified Dictionary is: {'name': 'PythonTurbo', 'acronym': 'PT', 'niche': 'programming'}

В приведенном выше примере мы добавили новый ключ “niche” со связанным с ним значением “programming”.

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

myDict = {'name': 'PythonTurbo', 'acronym': 'PT', 'niche': 'programming'}
print("Original Dictionary is:", myDict)
myDict["niche"] = "python programming"
print("Modified Dictionary is:", myDict)

Результат:

Original Dictionary is: {'name': 'PythonTurbo', 'acronym': 'PT', 'niche': 'programming'}
Modified Dictionary is: {'name': 'PythonTurbo', 'acronym': 'PT', 'niche': 'python programming'}

В приведенном выше примере ключ “niche” со значением “programming” уже есть в словаре. Когда мы пытаемся добавить пару ключ-значение с “niche” в качестве ключа и “python programming” в качестве связанного значения, значение, связанное с “niche”, обновляется до нового значения.

Как добавить элемент в словарь с помощью метода update()

Мы можем добавить элемент в словарь с помощью метода update(). Этот метод, вызываемый для словаря, принимает на вход другой словарь и добавляет его элементы в тот словарь, для которого вызван. На вход может подаваться не только словарь, но и другой итерируемый объект, содержащий пары ключ-значение.

Для примера давайте передадим методу update() словарь, содержащий один элемент.

myDict = {"name": "PythonTurbo", "acronym": "PT"}
print("Original Dictionary is:", myDict)
myDict.update({'niche': 'programming'})
print("Modified Dictionary is:", myDict)

Результат:

Original Dictionary is: {'name': 'PythonTurbo', 'acronym': 'PT'}
Modified Dictionary is: {'name': 'PythonTurbo', 'acronym': 'PT', 'niche': 'programming'}

Также на вход метода update() можно передать список кортежей, содержащих пары ключ-значение, и добавить эти элементы в словарь.

myDict = {"name": "PythonTurbo", "acronym": "PT"}
print("Original Dictionary is:", myDict)
items = [("niche", "programming")]
myDict.update(items)
print("Modified Dictionary is:", myDict)

Результат:

Original Dictionary is: {'name': 'PythonTurbo', 'acronym': 'PT'}
Modified Dictionary is: {'name': 'PythonTurbo', 'acronym': 'PT', 'niche': 'programming'}

Еще можно передать в метод update() пары ключ-значение в качестве именованных параметров. Тогда имена параметров будут использоваться как ключи словаря, а значения параметров – как значения словаря.

myDict = {"name": "PythonTurbo", "acronym": "PT"}
print("Original Dictionary is:", myDict)
myDict.update(niche="programming")
print("Modified Dictionary is:", myDict)

Результат:

Original Dictionary is: {'name': 'PythonTurbo', 'acronym': 'PT'}
Modified Dictionary is: {'name': 'PythonTurbo', 'acronym': 'PT', 'niche': 'programming'}

Как добавить элемент в словарь с помощью метода __setitem()__

Мы также можем добавить элемент в словарь с помощью метода __setitem__(). Метод __setitem__(), вызываемый для словаря, принимает новый ключ и значение в качестве первого и второго параметров соответственно и добавляет пару ключ-значение в словарь.

myDict = {"name": "PythonTurbo", "acronym": "PT"}
print("Original Dictionary is:", myDict)
myDict.__setitem__('niche', 'programming')
print("Modified Dictionary is:", myDict)

Результат:

Original Dictionary is: {'name': 'PythonTurbo', 'acronym': 'PT'}
Modified Dictionary is: {'name': 'PythonTurbo', 'acronym': 'PT', 'niche': 'programming'}

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

myDict = {'name': 'PythonTurbo', 'acronym': 'PT', 'niche': 'programming'}
print("Original Dictionary is:", myDict)
myDict.__setitem__('niche', 'python programming')
print("Modified Dictionary is:", myDict)

Результат:

Original Dictionary is: {'name': 'PythonTurbo', 'acronym': 'PT', 'niche': 'programming'}
Modified Dictionary is: {'name': 'PythonTurbo', 'acronym': 'PT', 'niche': 'python programming'}

Добавление элемента в словарь при помощи оператора **

Двойной астериск (**) используется в Python для передачи именованных параметров в функцию. Но также с его помощью можно добавить пару ключ-значение в словарь.

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

Чтобы добавить элемент в словарь, для начала нужно создать другой словарь, содержащий только этот элемент. Затем при помощи оператора ** мы производим слияние двух словарей.

myDict = {'name': 'PythonTurbo', 'acronym': 'PT'}
print("Original Dictionary is:", myDict)
newDict = {'niche': 'programming'}
myDict = {**myDict, **newDict}
print("Modified Dictionary is:", myDict)

Результат:

Original Dictionary is: {'name': 'PythonTurbo', 'acronym': 'PT'}
Modified Dictionary is: {'name': 'PythonTurbo', 'acronym': 'PT', 'niche': 'programming'}

Заключение

В этой статье мы рассмотрели различные способы добавления элемента в словарь в Python: при помощи квадратных скобок, методов update() и __setitem()__, а также при помощи оператора **.

Перевод статьи Aditya Raj “Add an item to a dictionary in Python”.

1 комментарий к “Как добавить элемент в словарь в Python”

  1. Пингбэк: - Словари в Python и работа с ними Примеры

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *