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

如何使用字典推导式处理包含嵌套dict、list或literals类型的值

你现有的代码只保留了外层值为字典的项,所以丢失了数值、列表类型的结果。只需要把外层推导的过滤条件替换成类型判断的三元分支,即可覆盖所有场景:

nested_dict = {'first':{'a':1}, 'second':{'b':2}, 'third': 3, 'fourth': [1, 2, 3, 4]}

float_dict = {
    outer_k: (
        {inner_k: float(inner_v) for inner_k, inner_v in outer_v.items()} 
        if isinstance(outer_v, dict) 
        else [float(item) for item in outer_v] 
        if isinstance(outer_v, list) 
        else float(outer_v)
    )
    for outer_k, outer_v in nested_dict.items()
}

print(float_dict)

运行输出和你预期的完全一致:

{'first': {'a': 1.0}, 'second': {'b': 2.0}, 'third': 3.0, 'fourth': [1.0, 2.0, 3.0, 4.0]}

如果要处理更深层的嵌套(比如列表里套字典、字典里套列表这类情况),可以把类型转换的逻辑封装成递归函数,再放到字典推导里调用即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 18:09:05