#python #dictionary #key #extend
#python #словарь #Клавиша #расширить
Вопрос:
Я хочу расширить существующий ключ в dict информацией. Затем ключ 'abc'
должен быть дополнен 'd'
, чтобы результат был 'abcd'
. Что-то вроде этого:
info1='abc'
info2='d'
DataDict[info1 '%i' %info2] = DataDict.pop(info1)
но это не работает…
Комментарии:
1. Эта страница содержит несколько подходов для этого с примерами кода: geeksforgeeks.org/python-ways-to-change-keys-in-dictionary
Ответ №1:
Для dict это противоречие: другой ключ — это совершенно другая запись. Возможно, вы можете сделать его немного более читаемым для вашего алгоритма, но вам все равно придется создать новый ключ и удалить старый.
old_key = "abc"
extension = 'd'
my_dict[old_key extension] = my_dict[old_key]
del my_dict[old_key]
В зависимости от вашего варианта использования вы можете захотеть создать новую копию старого значения.
Ах… Я вижу, что вам удобно pop
. В этом случае вы были довольно близки к своему (отредактированному) решению:
my_dict[old_key extension] = my_dict.pop(old_key)