Я хочу изменить ключ записи в словаре Python.
Есть ли простой способ сделать это?
python
dictionary
sequence
user469652
источник
источник
Ответы:
Легко сделать в 2 шага:
Или в 1 шаг:
который будет повышаться,
KeyError
еслиdictionary[old_key]
не определено. Обратите внимание , что это будет удалитьdictionary[old_key]
.источник
dict[new_value] = dict.pop(old_value, some_default_value)
чтобы избежать этогоold_key
будет отличаться от позицииnew_key
.если вы хотите изменить все ключи:
если вы хотите изменить один ключ: вы можете пойти с любым из приведенных выше предложений.
источник
{ d1[key] : value for key, value in d.items() }
pop'n'fresh
источник
В Python 2.7 и выше вы можете использовать словарное понимание: это пример, с которым я столкнулся при чтении CSV с использованием DictReader. Пользователь добавил суффикс всех имен столбцов к «:»
ori_dict = {'key1:' : 1, 'key2:' : 2, 'key3:' : 3}
чтобы избавиться от конечного ':' в ключах:
corrected_dict = { k.replace(':', ''): v for k, v in ori_dict.items() }
источник
Так как ключи - это словари, используемые для поиска значений, вы не можете их изменить. Самое близкое, что вы можете сделать, это сохранить значение, связанное со старым ключом, удалить его, а затем добавить новую запись с ключом замены и сохраненным значением. Несколько других ответов иллюстрируют различные способы, которыми это может быть достигнуто.
источник
Если у вас сложный диктат, это значит, что внутри диктанта есть список или список:
источник
Нет прямого способа сделать это, но вы можете удалить, а затем назначить
или выполните массовые изменения ключа:
источник
d = { changeKey(k): v for k, v in d.items()}
Чтобы преобразовать все ключи в словаре
Предположим, это ваш словарь:
Чтобы преобразовать все тире в подчеркивания в образце словарного ключа:
источник
предположим, что мы хотим заменить ключи элементов списка p = ['a', 'b']. следующий код будет делать:
и мы получаем
источник
Вы можете связать одно и то же значение со многими ключами или просто удалить ключ и повторно добавить новый ключ с тем же значением.
Например, если у вас есть ключи-> значения:
нет причин, по которым вы не можете добавлять
purple->2
или удалятьred->1
и добавлятьorange->1
источник
В случае изменения всех ключей сразу. Здесь я держу ключи.
источник
Я не видел этот точный ответ:
Вы даже можете сделать это с атрибутами объекта. Сделайте их в словарь, выполнив это:
Затем вы можете манипулировать атрибутами объекта так же, как словарь:
источник