Python 根据另一个字典重命名字典键

Python 根据另一个字典重命名字典键,python,dictionary,python-3.x,Python,Dictionary,Python 3.x,(在Python 3中) 我有一本旧字典。我需要换一些钥匙;需要更改的键和相应的新键存储在字典change中。做这件事的好方法是什么?请注意,old.keys()和change.values()之间可能存在重叠,这要求我小心地应用更改 以下代码(我认为)可以工作,但我希望能有更简洁、更具Python风格的代码: new = {} for k, v in old.items(): if k in change: k = change[k] new[k] = v old = new

(在Python 3中)

我有一本旧字典。我需要换一些钥匙;需要更改的键和相应的新键存储在字典
change
中。做这件事的好方法是什么?请注意,
old.keys()
change.values()
之间可能存在重叠,这要求我小心地应用更改

以下代码(我认为)可以工作,但我希望能有更简洁、更具Python风格的代码:

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

我添加了python标记,因为这并不完全是Python3特有的。我的答案也适用于Python2.7
old = {change.get(k,k):v for k,v in old.items()}