提问人:Vincent Lam 提问时间:6/17/2021 最后编辑:Vincent Lam 更新时间:6/17/2021 访问量:22
Python - 如何删除嵌套键
Python - how to remove nested key
问:
a={
"car": "Nissan",
"from": [
{
"Japan1": "People1",
"make_type": "allow",
"driver": {
"id": "12345",
"name": "user1",
"type": "user"
}
},
{
"Japan1": "People1",
"make_type": "allow",
"driver": {
"id": "98765",
"name": "user2",
"type": "user"
}
}
]}
目标:想要删除“driver”中的“name”和“type”
我尝试了很多方法,如果使用打印名称或类型,只需逐级放入新的var级别即可。
但是我怎样才能删除它呢?
谢谢
答:
0赞
Andrej Kesely
6/17/2021
#1
您可以使用:del
for f in a["from"]:
del f["driver"]["name"]
del f["driver"]["type"]
print(a)
指纹:
{
"car": "Nissan",
"from": [
{"Japan1": "Peop1", "make_type": "plastic", "driver": {"id": "12345"}}
],
}
或:
for f in a["from"]:
f["driver"] = {
k: v for k, v in f["driver"].items() if k not in {"name", "type"}
}
评论
0赞
Vincent Lam
6/17/2021
哦对不起,实际上驱动程序可以有多个驱动程序,让我编辑问题
0赞
Andrej Kesely
6/17/2021
@VincentLam 答案中的代码适用于字典中的多个驱动程序。
评论