Skip to main content
 首页 » 编程设计

python之在 python 中反转字典不起作用

2025年05月04日14pander-it

这是一段在字典中切换键值的代码:

for k in d: 
    d[d[k]] = k 
    d.pop(k) 

这段代码的问题是它做了更多它应该做的操作,并且对于某些输入返回了错误的结果

这个问题的原因是什么?

请您参考如下方法:

问题是您在迭代字典的同时更改字典,谁知道会导致什么问题。

请注意,一般来说您不能反转字典:键必须是唯一且可哈希的,但值不必如此。我假设您的字典具有唯一的可散列值,因此它至少是可能的。

然后我会使用字典理解来创建一个新字典,并分配它:

d = {value: key for (key, value) in d.items()}