You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于内层字典的值使用filter()过滤Python嵌套字典

解决方案

你可以结合filter()和字典的items()方法完成过滤,具体实现如下:

dictionary = {
    'val1': {"path1": "local"},
    'val2': {"path2": "remote"},
    'val3': {"path3": "remote"},
    'val4': {"test4": "remote"},
}
# 核心过滤逻辑
filtered_dictionary = dict(filter(
    lambda item: 'remote' in item[1].values(),
    dictionary.items()
))

代码说明

  • 首先通过dictionary.items()获取外层字典所有的(外层键, 内层字典)键值对,作为filter()的输入可迭代对象
  • lambda匿名函数作为过滤规则:检查当前项的内层字典所有取值中是否包含remote,满足条件的项会被保留
  • 最后用dict()将filter()返回的迭代器转换为新字典,就得到你需要的过滤结果

如果你的场景中内层字典固定仅包含1个键值对,可以将判断逻辑替换为next(iter(item[1].values())) == 'remote',不需要遍历所有值,运行效率更高。


内容的提问来源于stack exchange,提问作者Maciek Kucharski

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 23:54:01