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

如何从JSON解析的字典列表中筛选不含a_b键的字典?

获取不含a_b键的字典的方法

先把你的代码整理成可直接运行的版本(替换了HTML转义的引号):

import json

o = '{"a": [{"a_a": "123-1", "a_b": "exists"}, {"a_a": "123-2"}, {"a_a": "123-3"}]}'
o = json.loads(o)

最佳实现:列表推导式

Python里处理这类筛选需求最简洁高效的方式就是用列表推导式,一行代码就能搞定:

filtered_dicts = [d for d in o['a'] if 'a_b' not in d]

这段代码会遍历o['a']中的每个字典,只保留那些不包含a_b键的项。'a_b' not in d是Python判断字典是否缺省某个键的标准写法,底层是哈希表查询,效率很高(O(1)时间复杂度)。

备选方案:显式循环

如果你更倾向于可读性更强的代码(比如给新手看),用普通的for循环也完全可以:

filtered_dicts = []
for d in o['a']:
    if 'a_b' not in d:
        filtered_dicts.append(d)

两种方法的性能几乎没有差别,列表推导式只是更符合Python的“简洁风格”而已。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 08:27:36