小编Rav*_*mar的帖子

在python中根据嵌套字典中的键删除项目

我有一个看起来像这样的字典:

{
    'key1': 
        {
            'a': 'key1', 
            'b': 'val1', 
            'c': 'val2'
        }, 
    'key2': 
        {
            'a': 'key2', 
            'b': 'val3', 
            'c': 'val4'
        }, 
    'key3': 
        {
            'a': 'key3', 
            'b': 'val5', 
            'c': 'val6'
        }
}
Run Code Online (Sandbox Code Playgroud)

我试图根据键“a”删除嵌套字典中的元素以获得如下输出:

{
    'key1': 
        {
            'b': 'val1', 
            'c': 'val2'
        }, 
    'key2': 
        {
            'b': 'val3', 
            'c': 'val4'
        }, 
    'key3': 
        {
            'b': 'val5', 
            'c': 'val6'
        }
}
Run Code Online (Sandbox Code Playgroud)

我为它编写了以下代码段:

for k in dict_to_be_deleted:
    del k["a"]
Run Code Online (Sandbox Code Playgroud)

我不断收到密钥错误:找不到 k。我也尝试了以下方法:

for i in dict_to_be_deleted:
    for k,v in i.items():
        if "a" in k:
            del i[k]
Run Code Online (Sandbox Code Playgroud)

我得到

Attribute Error: …
Run Code Online (Sandbox Code Playgroud)

python dictionary nested key python-3.x

5
推荐指数
3
解决办法
4530
查看次数

标签 统计

dictionary ×1

key ×1

nested ×1

python ×1

python-3.x ×1