根据特定值从嵌套字典中按键提取值

Extract values by key from a nested dictionary based on specific values

我有一个嵌套字典,它是使用 PyPDF2 库从 PDF 用户表单中提取的。

form_dict = {'Apple': {'/FT': '/Btn', '/T': 'Apple'},
 'Banana': {'/FT': '/Btn', '/T': 'Banana', '/V': '/Yes'},
 'Grape': {'/FT': '/Btn', '/T': 'Grape', '/V': '/Yes'}
}

我想创建一个外键列表,其内键“/V”的值等于“/Yes”。

在这种情况下,我正在寻找的答案是包含“香蕉”和 'Grape'

的列表

谢谢

列表理解与字典迭代相结合:

[k for k, v in form_dict.items() if '/V' in v and v['/V'] == '/Yes']

解释:理解循环遍历 form_dict,将每个 key-value 对提取为 kv。如果 v 具有键 '/V' 且其对应值为 '/Yes',则 k 包含在结果列表中。