Python字典,切换键但保留值

时间:2014-11-20 04:41:26

标签: python

如果我有一个类似下面的词典:

myd = {"Dave": 19, 
       "Amy": 16, 
       "Jack": 21, 
       "Jose": 22, 
       "Ximena": 21, 
       "Seta": 26 } 

是否可以编写一个python命令将“Amy”替换为“Mike”,保持该值?

2 个答案:

答案 0 :(得分:3)

最简单的方法是做这样的事情:

  myd["Amber"] = myd.pop("Dave")

这将创建一个“Amber”的新键,并为其提供“Dave”的值,同时还从字典中删除“Dave”。

编辑:  我错过了无花果已发布链接作为评论回答。检查完链接后,我意识到我从未想过有序字典的可能性。所以,如果这就是你需要的,请查看figs链接,因为那里有一个很好的解决方案。我给出的解决方案只适用于普通字典。

答案 1 :(得分:1)

您可以使用updatepop

演示:

>>> myd = {"Dave":19, "Amy":16, "Jack":21, "Jose":22, "Ximena":21, "Seta":26 } 
>>> myd.update([('Mike',myd.pop('Amy'))])
>>> myd
{'Jose': 22, 'Mike': 16, 'Seta': 26, 'Ximena': 21, 'Dave': 19, 'Jack': 21}

pop将删除密钥并返回其值。更新将update带有键和值的字典