【发布时间】:2021-11-08 06:33:06
【问题描述】:
我有以下带有嵌套字典的字典。如果键(对象名)中有苹果,我想删除嵌套字典,否则保留它。
输入
{
"item": [
{
"seq_key": [
{
"height": 153,
"object-name": "person:1"
},
{
"height": 107,
"object-name": "apple:1"
},
{
"height": 90,
"object-name": "orange:2"
},
{
"height": 84,
"object-name": "apple:3"
},
{
"height": 94,
"object-name": "apple:4"
}
],
"f-no": "0"
},
{
"seq_key": [
{
"height": 161,
"object-name": "person:1"
},
{
"height": 84,
"object-name": "mango:3"
}
],
"f-no": "1"
}
]
}
我的预期输出
{
"item": [
{
"seq_key": [
{
"height": 153,
"object-name": "person:1"
},
{
"height": 90,
"object-name": "orange:2"
}
],
"f-no": "0"
},
{
"seq_key": [
{
"height": 161,
"object-name": "person:1"
},
{
"height": 84,
"object-name": "mango:3"
}
],
"f-no": "1"
}
]
}
我尝试了什么
import json
with open(r"my_file.json", encoding='utf-8') as f:
abc = json.load(f)
for key,value in abc.items():
for i in value:
for n,item in enumerate(i.get('seq_key')):
if item.get('object-name').split(":")[0] == 'apple':
item.clear()
上面的代码给出了空字典,我不知道如何从列表中删除。如果我尝试使用列表删除方法,只有两个项目被删除而不是全部。
谁能帮帮我,怎么去掉?
【问题讨论】:
标签: python python-3.x dictionary