如果我想删除一个嵌套的json文件的话,我想把它删除。在
Json文件:
{
"One": {
"action": "One",
"delay": 1559243024.3665395,
"seconds": 0,
"score": 0,
"delta": 1559183024.3665395,
"grace_sec": 60000
},
"Two": {
"action": "Two",
"delay": 1559321009.969849,
"seconds": 0,
"score": 14,
"delta": 1559261009.969849,
"grace_sec": 60000
},
"Three": {
"action": "Three",
"delay": 1559909745.5981774,
"seconds": 0,
"score": 0,
"delta": 1559309745.5981774,
"grace_sec": 600000
},
"Four": {
"action": "Four",
"delay": 1559909757.0363235,
"seconds": 0,
"score": 1,
"delta": 1559309757.0363235,
"grace_sec": 600000
}
}
这就是我曾经尝试过但没有成功的原因:
^{pr2}$例如,如果name==“Two”,那么Two的所有键值对都将被删除,包括Two本身。在
您只需要去掉for循环,因为它将迭代字典键。所以
for x in data
会给你'One'
,'Two'
等等,所以在匹配'Two'时,你会尝试del 'Two'['Two']
,这是没有意义的。您只需使用in
在字典中查找这些键只需删除顶层项目:
您可以使用^{} 函数。此函数将从字典中删除键并返回值。如果键不存在,它将返回一个默认值。
例如:
这将减少在删除时检查密钥是否存在的负担,并且您不必依赖
KeyError
来检查它是否失败。 您可以检查返回值是否不是您的sentinel值,None
在本例中,该密钥被成功删除。如果是sentinel值,那么密钥就不存在了。在相关问题 更多 >
编程相关推荐