我正在用Python编码并使用一个JSON文件,该文件包含2列数据;一个键,以及在我正在使用的数据中找到该键的次数。 我的目标是删除所有整数键。
我已经将JSON提取为test_map
,然后使用keys()
方法创建键的字典(键(。 我正在尝试使用isinstance
来遍历键来标识键中的每个整数键。 我还没有进入删除部分,但我注意到键中的每个键都被标识为字符串,所以isinstance
没有捕获任何东西。
如果有人对如何编码以捕获 int 键有任何想法,那么可能会删除它们,我将不胜感激。 我相信解决方案涉及铸造,但我无法弄清楚。
keys=test_map.keys()
for key in keys:
if isinstance(key,int):
print(f"key: {key}")
我已经编辑以包含下面的 JSON 文件示例。 我正在尝试删除带有整数键的对象。
{
"run": 121,
"'988844333',": 4, <remove
"123": 27, <remove
"brown": 19,
"face": 345,
"21554,": 4, <remove
"gain": 4,
}
字符串的.isdigit()
方法检查字符串是否仅由数字组成。 这是文档
我们可以使用它来过滤整数键。
代码如下:
res = {k:v for k,v in test_map.items() if not k.isdigit()}
你可以尝试这样投射。但是你需要写一个尝试,除非密钥不能转换为int。
keys = [key for key in test_map]
for key in keys:
try:
a = int(key)
del test_map[key]
except:
pass