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

Идеальное значение добавления Python в словарь — это элементы. Как добавить элемент в словарь Python? Мы увидим различные способы вставки пар ключ-значение в словарь.
Некоторые структуры данных имеют специальные методы для добавления элементов в структуру, но нет явно определенного метода для добавления нового ключа в словарь. Чтобы добавить новый ключ в словарь, используйте оператор присваивания с ключом словаря.
См. следующий фрагмент.
|
1 |
dict[key] = value |
Теперь следует помнить одну вещь: если ключ уже существует, он переопределит значение.
Пример добавления
См. следующий код.
|
1 2 3 4 5 6 7 8 9 |
# app.py disneyplus = { 'name': 'Mandalorian', 'mvp': 'Baby Yoda' } print('Before add', disneyplus) disneyplus['season'] = 1 print('After add', disneyplus) |
Выход:
|
1 2 3 4 |
➜ pyt python3 app.py Before add {'name': 'Mandalorian', 'mvp': 'Baby Yoda'} After add {'name': 'Mandalorian', 'mvp': 'Baby Yoda', 'season': 1} ➜ pyt |
Python переопределяет значения словаря
Давайте рассмотрим сценарий, в котором мы переопределяем существующие значения словаря.
|
1 2 3 4 5 6 7 8 9 |
# app.py disneyplus = { 'name': 'Mandalorian', 'mvp': 'Baby Yoda' } print('Before Override', disneyplus) disneyplus['mvp'] = 'Cara Dune' print('After Override', disneyplus) |
Выход:
|
1 2 3 4 |
➜ pyt python3 app.py Before Override {'name': 'Mandalorian', 'mvp': 'Baby Yoda'} After Override {'name': 'Mandalorian', 'mvp': 'Cara Dune'} ➜ pyt |
В приведенном выше коде мы переопределяем значение ключа: «mvp» с «Baby Yoda» на «Cara Dune». Теперь, если мы захотим добавить ключ, только если его нет в словаре.
Что ж, мы можем добиться этого, используя условие if, а не оператор и метод dict.keys().
|
1 2 3 4 5 6 7 8 9 |
# app.py disneyplus = { 'name': 'Mandalorian', 'mvp': 'Baby Yoda' } if 'mvp' not in disneyplus.keys(): disneyplus['mvp'] = 'Cara Dune' print('After if condition', disneyplus) |
Выход:
|
1 2 3 |
➜ pyt python3 app.py After if condition {'name': 'Mandalorian', 'mvp': 'Baby Yoda'} ➜ pyt |
В приведенном выше коде мы проверяем условие, что если свойство mvp присутствует, то мы не переопределяем это значение; в противном случае мы переопределим его.
Как обновить словарь Python
Переопределение существующего значения словаря аналогично обновлению значений словаря Python. Мы можем использовать тот же метод для обновления значений словаря Python.
См. следующий код.
|
1 2 3 4 5 6 7 8 9 10 |
# app.py disneyplus = { 'name': 'Mandalorian', 'mvp': 'Baby Yoda' } print('Before Update', disneyplus) disneyplus['mvp'] = 'Cara Dune' print('After Update', disneyplus) |
Выход:
|
1 2 3 4 |
➜ pyt python3 app.py Before Update {'name': 'Mandalorian', 'mvp': 'Baby Yoda'} After Update {'name': 'Mandalorian', 'mvp': 'Cara Dune'} ➜ pyt |
Из вывода видно, что значение mvp обновлено.
Использование метода __setitem__
Мы можем использовать метод __setitem__ для добавления пары ключ-значение в словарь. Но следует избегать метода Python __setitem__ из-за его плохой вычислительной производительности.
Давайте посмотрим пример.
|
1 2 3 4 5 6 7 8 9 10 |
# app.py disneyplus = { 'name': 'Mandalorian', 'mvp': 'Baby Yoda' } print('Before Add', disneyplus) disneyplus.__setitem__('season', 1) print('After Add', disneyplus) |
Выход:
|
1 2 3 4 |
➜ pyt python3 app.py Before Add {'name': 'Mandalorian', 'mvp': 'Baby Yoda'} After Add {'name': 'Mandalorian', 'mvp': 'Baby Yoda', 'season': 1} ➜ pyt |
