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

Python字典列表键值搜索异常:搜索args键返回None问题

问题原因

你的函数调用search(name='args', params=p)返回None,是因为遍历第一个字典{'quantity': 1}时,直接尝试取x['args']触发了KeyError,此时except块直接返回None,根本没机会遍历到第二个包含args键的字典。

解决方法

修改生成器表达式,先判断当前字典是否包含目标键再取值,避免提前触发异常:

def search(name: str, params: list[dict]):
    return next((x[name] for x in params if name in x), None)

现在调用search('quantity', p)会返回1,调用search('args', p)会返回{'id': 12345678, 'age': 12},完全符合需求。

如果觉得生成器不够直观,也可以用普通循环实现,逻辑更清晰:

def search(name: str, params: list[dict]):
    for item in params:
        if name in item:
            return item[name]
    return None

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 05:20:23