Переименовать словарные ключи согласно другому словарю - PullRequest
3 голосов
/ 21 октября 2010

(в Python 3)

У меня есть словарь old. Мне нужно изменить некоторые из его ключей; ключи, которые необходимо изменить, и соответствующие новые ключи хранятся в словаре change. Какой хороший способ сделать это? Обратите внимание, что может быть совпадение между old.keys() и change.values(), что требует осторожного применения изменения.

Следующий код (я думаю) сработает, но я надеялся на что-то более лаконичное и в то же время Pythonic:

new = {}
for k, v in old.items():
  if k in change:
    k = change[k]
  new[k] = v
old = new

1 Ответ

10 голосов
/ 21 октября 2010
old = {change.get(k,k):v for k,v in old.items()}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...