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

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

Для добавления элемента в словарь используйте присваивание — my_dict[key] = value; при необходимости можно применить метод my_dict.update({key: value}).

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

Добавление новых пар «ключ‑значение» в словарь в Python происходит мгновенно и без каких‑либо дополнительных подготовительных шагов. Самый простой способ – присвоить значение нужному ключу с помощью оператора []. Если ключ уже присутствует, его значение будет заменено; если нет – будет создана новая запись.

my_dict = {'apple': 3, 'banana': 5}
my_dict['orange'] = 2 # создаётся пара 'orange': 2
my_dict['apple'] = 4 # значение 'apple' перезаписывается
print(my_dict) # {'apple': 4, 'banana': 5, 'orange': 2}

Для одновременного добавления нескольких элементов удобно пользоваться методом update. Он принимает любой объект, поддерживающий итерацию пар, а также другой словарь. При конфликте ключей новые значения заменяют старые.

my_dict.update({'pear': 7, 'grape': 1})
# или
my_dict.update([('kiwi', 9), ('mango', 6)])
print(my_dict)
# {'apple': 4, 'banana': 5, 'orange': 2, 'pear': 7, 'grape': 1, 'kiwi': 9, 'mango': 6}

Если необходимо добавить элемент только в случае его отсутствия, следует использовать метод setdefault. Он возвращает текущее значение ключа, а если ключа нет – создаёт его с указанным значением и сразу же возвращает его.

value = my_dict.setdefault('pineapple', 10) # создаётся запись
print(value) # 10
value = my_dict.setdefault('apple', 0) # запись уже есть, возвращается 4
print(value) # 4

Начиная с Python 3.9 появился оператор объединения словарей | и оператор обновления |=. Они позволяют добавить содержимое одного словаря к другому в виде однострочного выражения.

additional = {'peach': 3, 'plum': 4}
my_dict |= additional # эквивалентно my_dict.update(additional)
print(my_dict)

Для создания словаря сразу с набором элементов часто используют литералы или функцию dict. При построении словаря из последовательностей пар удобно применять генераторы словарей.

pairs = [('a', 1), ('b', 2), ('c', 3)]
my_dict = {k: v for k, v in pairs}
print(my_dict) # {'a': 1, 'b': 2, 'c': 3}

Если требуется добавить одинаковое значение для нескольких новых ключей, удобно воспользоваться fromkeys, а затем объединить полученный словарь с существующим.

new_keys = ['x', 'y', 'z']
defaults = dict.fromkeys(new_keys, 0) # {'x': 0, 'y': 0, 'z': 0}
my_dict.update(defaults)
print(my_dict)

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

data = {'outer': {'inner': 5}}
data['outer']['new'] = 10
print(data) # {'outer': {'inner': 5, 'new': 10}}

Подводя итог, в Python существует несколько надёжных и лаконичных способов добавить новые элементы в словарь: прямое присваивание, update, setdefault, оператор |= и генераторы. Каждый из них подходит под свои задачи, позволяя писать чистый и эффективный код.