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

如何用字典推导式过滤字典中Pandas ResultSet内的元素?

可以用字典推导式实现需求,无需常规循环

完全可以通过嵌套推导式实现这个需求,不需要写常规循环。核心思路是在字典推导式的 value 部分,用列表推导式对每个 ResultSet 里的元素做过滤:

myDict = {k: [item for item in v if item['c'] > 0] for k, v in myDict.items()}

示例验证

输入字典:

myDict = {
    "key1": [{"a":1,"b":-2,"c":-3}, {"a":1,"b":-2,"c":3}], 
    "key2": [{"a":1,"b":2,"c":3}, {"a":51,"b":-42,"c":43}] 
}

执行上述推导式后,得到的输出结果:

{
    "key1": [{"a":1,"b":-2,"c":3}], 
    "key2": [{"a":1,"b":2,"c":3}, {"a":51,"b":-42,"c":43}] 
}

可选扩展:过滤空结果集

如果还需要移除那些过滤后 ResultSet 为空的键,可以在推导式末尾加上判断条件:

myDict = {
    k: filtered_v 
    for k, v in myDict.items() 
    if (filtered_v := [item for item in v if item['c'] > 0])
}

这样会自动剔除所有过滤后元素数量为0的键值对。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 10:35:29