как изменить значение ключа в словаре

Python — как изменить значение ключа в словаре?

Привет всем! Недавно выставил у себя на канале видео, посвященное вопросу «Как удалить запись из json?» кстати, запись по этому поводу доступна тут, а видео — вот здесь 🙂 И один из подписчиков канала подсказал идею следующего видео — как изменить значение ключа в словаре? Видео — совсем скоро, а пока — текстовое описание решения данного вопроса 😉 Поехали!
Итак, вернемся к многострадальному json-файлу, в котором хранится зарплата пользователей. Выглядит он вот так:

{
"personal": [
{
"name": "Вася",
"salary": 5000
},
{
"name": "Саша",
"salary": 6000
},
{
"name": "Глаша",
"salary": 5600
},
{
"name": "Федот",
"salary": 5600
}
]
}

Как видите — у нас имеется четыре пользователя, причем — каждая запись представляет собой связку «Ключ — значение», в котором ключем выступает имя пользователя, а значением — размер его зарплаты. Внимание — вопрос: как изменить значение ключа в словаре? Ну т.е. у пользователя изменилась зарплата, как внести это изменение в json-файл?

Все просто! Для начала — давайте вспомним, что любой json-файл — ничего более, как словарь. А раз это словарь — то и работать с ним нужно как со словарем. Не буду описывать методику конвертирования json-файла в словарь (библиотека json в помощь 😉 ) — приведу лишь пример рабочего кода ниже:

username = str(input('Имя пользователя? \n: '))
for text in dist['personal']:
print(text)
if text['name'] == username:
print('Пользователь найден')
new_salary = int(input('Новая зарплата\n:'))
text['salary'] = new_salary

ВСЕ!
Т.е. мы нашли нужную нам запись в словаре, в снесли туда обновленную информацию в значение salary. Осталось дело за малым — сделать дамп в json-файл, и возрадоваться. Но это уже — другая история.

И да — аналогичным образом делается корректировка значения ключа name:

username = str(input('Имя пользователя? \n: '))
print('Меняем имя пользователя')
for text in dist['personal']:
if text['name'] == username:
new_name = str(input('Введите новое имя пользователя\n: '))
text['name'] = new_name

Надеюсь, эта запись помогла вам разобраться с вопросом: как изменить значение ключа в словаре?
Как всегда — в случае возникновения вопросов пишите на почту, или в Telegram.
И да — видео выставлю сразу, как будет готово (надеюсь, скоро)