根据特定值从嵌套字典中按键提取值
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 对提取为 k
和 v
。如果 v
具有键 '/V' 且其对应值为 '/Yes',则 k
包含在结果列表中。
我有一个嵌套字典,它是使用 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 对提取为 k
和 v
。如果 v
具有键 '/V' 且其对应值为 '/Yes',则 k
包含在结果列表中。