如果我有一个类似下面的词典:
myd = {"Dave": 19,
"Amy": 16,
"Jack": 21,
"Jose": 22,
"Ximena": 21,
"Seta": 26 }
是否可以编写一个python命令将“Amy”替换为“Mike”,保持该值?
答案 0 :(得分:3)
最简单的方法是做这样的事情:
myd["Amber"] = myd.pop("Dave")
这将创建一个“Amber”的新键,并为其提供“Dave”的值,同时还从字典中删除“Dave”。
编辑: 我错过了无花果已发布链接作为评论回答。检查完链接后,我意识到我从未想过有序字典的可能性。所以,如果这就是你需要的,请查看figs链接,因为那里有一个很好的解决方案。我给出的解决方案只适用于普通字典。
答案 1 :(得分:1)
您可以使用update
和pop
:
演示:
>>> 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
带有键和值的字典