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