python - 无法使用 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'}
解决方案
在 Python 3 中,您必须更改for old_key in d.keys()
为for old_key in list(d.keys())
. 这应该有效,因为您正在迭代一个动态实体。
推荐阅读
- android - 如何在android中每2秒解析一次来自OBD II模拟器的数据
- python - 具有相同顶级名称的不同python包
- java - 打印从 1 到用户给出的数字的整数
- php - PHP:扩展 sysvmsg
- sql - 当插入日期 > 该月的第 10 天时加载上个月的数据
- api - 无法在 itemCount 中获取数据的长度
- javascript - 如何在 Svelte 中使用 PDF.js (pdfjs-dist)
- javascript - 将从服务器返回的 json 数据分配给状态变量,然后对其进行迭代
- java - 错误:在 Hibernate 5.4.14 中使用 NativeQuery 时未找到列 'id'
- docker - client_max_body_size 在 kubernetes docker 容器中不起作用