Примечание: @NightShade опубликовал ответ, аналогичный моему нижеследующему ответу, раньше, чем я написал.
Вы можете попробовать это:
def reverse_dict_in_place(d):
d_copy = d.copy()
d.clear()
for k in d_copy:
d[d_copy[k]] = k
Это будет работать, даже если одно из значений словаря также является ключом (как проверено ниже)
Тестирование:
my_dict = {1:1, 2:'two', 3:'three'}
reverse_dict_in_place(my_dict)
print (my_dict)
Выход:
{1: 1, «два»: 2, «три»: 3}