JackYF,
Цитата | По сабжу думаю, что удалить этот ключ (предварительно считав значение) и добавить другой с этим же значением будет нормальным выходом.
|
Ок так и поступил другого выхода не нашел. Написал функцию:
Код | def changekey(d): oldkey = raw_input("Enter old key:") # читаем имя старого ключа newkey = raw_input("Enter new key:") # читаем имя нового ключа tmp = d[oldkey] # сохраняем все значение старого ключа d.pop(oldkey) # удаляем ключ и его значения d[newkey] = tmp # вносим новый ключ со старами значениями
|
Функция изменяет только ключи типа str, вот её более лучший вариант для str и int:
Код | def changekey(d): oldkey = raw_input("Enter old key:") inpt = raw_input("Convert to int (y/n) ?") if inpt == 'y': # если нужно конвертить старый ключ в int то входим в if try: oldkey = int(oldkey) except: print "Error: Check your input!" newkey = raw_input("Enter new key:") # читаем новый ключ inpt = raw_input("Convert to int (y/n) ?") if inpt == 'y': # если нужно конвертить новый ключ в int то входим в if try: newkey = int(newkey) except: print "Error: Check your input!" tmp = d[oldkey] # сохраняем значения старого ключа d.pop(oldkey) # удаляем старый ключ с его значениями d[newkey] = tmp # добавляем в словарь новый ключ со старами значениями
|
Спасибо всем за ответы вопрос решен ! |