首页 > 解决方案 > 无法使用 pop 重命名 Python dict 键值 - 错误?

问题描述

我无法使用 pop 重命名 Python dict,如下所述。我使用了这篇文章的建议。这是一个 Python 错误吗?我正在使用 Python 3.5.2

>>> d = {'a': 'ABC', 'b': 'CDE', 'c': 'KRT'}
>>> for old_key in d.keys():
        d['NEW_KEY_' + old_key] = d.pop(old_key)
>>> d

{'NEW_KEY_NEW_KEY_NEW_KEY_b': 'CDE', 'NEW_KEY_NEW_KEY_a': 'ABC', 'c': 'KRT'}

标签: pythonpython-3.xdictionary

解决方案


在 Python 3 中,您必须更改for old_key in d.keys()for old_key in list(d.keys()). 这应该有效,因为您正在迭代一个动态实体。


推荐阅读