Python 将字典中的项向下删除一级

Python 将字典中的项向下删除一级,python,python-3.x,dictionary,Python,Python 3.x,Dictionary,我想从列表中删除成就achname,但我不知道类别名称(python)。成就总是会降低一个级别,但可能是在python之外的另一个类别中。我如何才能做到这一点?使用del和.keys()方法怎么样?我不知道你的字典将如何组织,但假设“名称”总是指你想要删除的成就: {"python":[ {"name":"achname","points":9999, "description":"The best achievement ever"} ]} 不幸的是,您需要迭代字典中的每个顶级元素,以搜

我想从列表中删除成就
achname
,但我不知道类别名称(
python
)。成就总是会降低一个级别,但可能是在python之外的另一个类别中。我如何才能做到这一点?

使用del和.keys()方法怎么样?我不知道你的字典将如何组织,但假设“名称”总是指你想要删除的成就:

{"python":[
  {"name":"achname","points":9999, "description":"The best achievement ever"}
]}

不幸的是,您需要迭代字典中的每个顶级元素,以搜索所有子字典。

您必须搜索外部字典中的所有键,然后搜索每个列表值,直到找到具有正确名称的键为止。请参阅,例如,有关使用DICT和列表的信息。
for key in foo.keys():
    if "name" in foo[key]:
        del foo[key]["name"]