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

4

(在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

我添加了Python标签,因为这不完全是Python3特定的。我的答案也适用于Python2.7。 - John La Rooy
1个回答

11
old = {change.get(k,k):v for k,v in old.items()}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接