Переименование ключей словаря

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

Процедура возвращает словарь. Все в порядке со словарем, за исключением того, что пару ключей нужно переименовать. Этот код ниже копирует запись словаря (ключ = значение) в новую запись с нужным ключом, а затем удаляет старую запись. Есть ли более питоновский способ, возможно, без дублирования значения?

my_dict = some_library.some_method(scan)
my_dict['qVec'] = my_dict['Q']
my_dict['rVec'] = my_dict['R']
del my_dict['Q'], my_dict['R']
return my_dict

Ответ 1

Клавиши

dict неизменяемы. Это означает, что они не могут быть изменены. Вы можете больше узнать из docs

Словарь

индексируется ключами, который может быть любым неизменным типом

Ниже приведено обходное решение с использованием dict.pop

>>> d = {1:'a',2:'b'}
>>> d[3] = d.pop(1)
>>> d
{2: 'b', 3: 'a'}