Как добавить элемент в словарь Python
Функция dict позволяет не только создать словарь, но и добавить в него пары ключ-значение. Смотрите пример:
dct = dict( <'a': 1, 'b': 2>) print(dct)'a':>
Результат выполнения кода:
C помощью метода fromkeys
Также одновременно создать словарь и задать ему элементы возможно применив метод fromkeys , в первом параметре которого указываются ключи, а во втором необязательном параметре — их значение. Смотрите пример:
dct = dict.fromkeys( [‘1’, ‘2’], ‘a’ ) print(dct)
Результат выполнения кода:
C помощью присвоения ключу значения
Для того, чтобы включить в словарь новый элемент или изменить исходный, нужно обратить к нему по ключу, установив при этом нужно значение. Смотрите пример:
dct = <'a': 1, 'b': 2>dct[‘c’] = 3 print(dct)'a':>
Результат выполнения кода:
C помощью метода update
Также можно добавить в исходный словарь элементы из другого словаря посредством метода update . В параметре метода указываем словарь, которым дополним исходный. Смотрите пример:
dct1 = < 'a': 1, 'b': 2 >dct2 = < 'c': 3 >dct1.update(dct2) print(dct1)
Результат выполнения кода:
Смотрите также
- функция dict ,
которая создает словарь - метод update ,
который обновляет словарь ключами и значениями другого словаря
Словари в Python
Иногда данные очень связаны. Настолько, что хранить их хочется вместе. Например, соответствие столиц:
Россия: Москва
Китай: Пекин
США: Вашингтон
Если вы знаете о списках, вы можете сделать это так:
countries = ["Россия", "Китай", "США"] capitals = ["Москва", "Пекин", "Вашингтон"]
Но это всё ещё не круто. При работе со списками может случиться казус. Например, мы решим удалить Китай и добавить Францию:
["Россия", "США", "Франция"] ["Москва", "Пекин", "Вашингтон"]
Теперь Столица США – Пекин, а Франции – Вашингтон. Списки – не очень удобный инструмент для хранения пар данных, для такого используют словари:
capitals_mapping = "Россия": "Москва", "США": "Вашингтон", "Китай": "Пекин" >
Словарь — это способ хранить связи между штуками (обычно строками, но можно использовать и другие виды данных). Так же, как в обычном словаре: англо-русский словарь хранит связи между русскими словами и английскими. Так же и в питоне, словарь хранит пары элементов. Зная первый, всегда можно получить второй по ключу:
russian_capital = capitals_mapping["Россия"] print(russian_capital)
Это тоже работает как в обычном словаре: зная русское слово вы всегда можете найти его перевод в русско-английском словаре. Зная первый элемент, всегда можно получить второй. Поэтому первый элемент называют ключ, а второй — значение. В коде выше мы получили значение «Москва» , сказав словарю ключ «Россия» .
Добавить элемент в словарь
Чтобы добавить новую пару элементов в словарь, можно прировнять его значение по этому ключу:
capitals_mapping["Франция"] = "Париж" print(capitals_mapping)
Выведется словарь с новой парой:
'Россия': 'Москва', 'Китай': 'Пекин', 'США': 'Вашингтон', 'Франция': 'Париж'>
Убрать элемент из словаря
Элементы из словаря удаляются немного странно:
del capitals_mapping['Россия'] print(capitals_mapping) # Выведется словарь без пары Россия-Москва: #
Отредактировать словарь
Значения ключей можно менять так же, как создаются новые:
capitals_mapping["Франция"] = "Новый Париж"
Что дальше
Если статья не смогла объяснить что же такое словари или вы хотите почитать о них ещё, подойдут эти статьи:
- О словарях на metanit
- О словарях на pythontutor
- Примеры использования словарей с циклами и условиями
Попробуйте бесплатные уроки по Python
Получите крутое код-ревью от практикующих программистов с разбором ошибок и рекомендациями, на что обратить внимание — бесплатно.
Переходите на страницу учебных модулей «Девмана» и выбирайте тему.
Добавить элемент в начало словаря
Только делать новый словарь, в который сначала поместить этот новый элемент, а потом остальные. У вас это учебные задания или что? Попробуйте уже сами решать.
24 фев 2022 в 17:49
Спасибо, нет, не учебные, просто столкнулся с проблемой, пробую разные решения.
24 фев 2022 в 17:50
3 ответа 3
Сортировка: Сброс на вариант по умолчанию
если ключи уникальные, то такой код дает необходимый результат:
d = d1 = d, d1 = d1, d d.update(d1) d #
существующие ключи update перезаписывает
Отслеживать
ответ дан 24 фев 2022 в 20:10
5,635 1 1 золотой знак 7 7 серебряных знаков 17 17 бронзовых знаков
Сделать новый словарь, в который сначала поместить этот новый элемент, а потом остальные.
d = d1 = for k,v in d.items(): d1[k] = v print(d1)
Либо использовать OrderedDict , в нём можно двигать элементы:
from collections import OrderedDict d = d1 = OrderedDict(d) d1['four'] = 4 d1.move_to_end('four', last=False) d1 = dict(d1) print(d1)
Либо сделать из словаря список, тогда можно вставить элемент в любую позицию. А потом сделать обратно словарь:
d = lst = list(d.items()) lst.insert(0, ('four', 4)) d1 = dict(lst) print(d1)
Вывод везде будет одинаковый:
Добавление новых ключей в словарь в Python
В Python словари представляют собой уникальные пары ключ-значение. Иногда возникает необходимость добавить новый ключ в уже существующий словарь. Для некоторых новичков это может стать проблемой, так как они могут попытаться использовать метод .add() , который не существует для словаря.
Возможно, был создан словарь с именем fruit примерно такой:
fruit =
И есть желание добавить новый ключ (например, «orange») со значением 4 к этому словарю. В Python это легко сделать, как показано ниже:
fruit["orange"] = 4
Теперь словарь fruit выглядит так:
fruit =
Таким образом, в Python для добавления нового ключа в словарь достаточно указать имя словаря, затем в квадратных скобках указать новый ключ и присвоить ему значение. Это очень простой и удобный способ, который позволяет легко манипулировать данными в словаре.
