替代解决方案
如果您正在寻找字典中的最小值,则可以执行以下操作:
min(dictionary.values())
如果不能使用min,则可以使用sorted:
sorted(dictionary.values())[0]
为什么会出现此错误?
附带说明一下,您遇到的原因
RuntimeError是,在内部循环中您修改了外部循环所基于的迭代器。当您
pop尚未由外部循环访问的条目并且外部迭代器到达该条目时,它将尝试访问已删除的元素,从而导致错误。
如果您尝试在Python 2.7(而不是3.x)上执行代码,则实际上会得到一个
Key Error。
我该如何避免该错误?
如果要基于循环的 迭代器 修改循环中的 可 迭代对象
,则应使用其深层副本。



