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

如何用Python编写函数去除字典值中的嵌套方括号

如何将字典中嵌套列表展开为一维列表?

需求说明

原字典结构:

{"bbox": [[1386, 111], [1475, 111], [1475, 159], [1386, 159]]}

需要转换为:

{"bbox": [1386, 111, 1475, 111, 1475, 159, 1386, 159]}

你之前尝试的代码d = {k:v[0] for k,v in d.items()}仅提取了每个键对应值的第一个子列表,无法满足展开所有嵌套元素的需求。

实现方法

方法1:列表推导式

通过两层列表推导遍历所有子列表及内部元素,拼接成一维列表:

def flatten_bbox(d):
    return {k: [num for sublist in v for num in sublist] for k, v in d.items()}

方法2:使用itertools.chain

借助itertools.chain.from_iterable高效展开嵌套可迭代对象,适合处理大规模数据:

from itertools import chain

def flatten_bbox(d):
    return {k: list(chain.from_iterable(v)) for k, v in d.items()}

测试示例

original_dict = {"bbox": [[1386, 111], [1475, 111], [1475, 159], [1386, 159]]}
result = flatten_bbox(original_dict)
print(result)
# 输出: {'bbox': [1386, 111, 1475, 111, 1475, 159, 1386, 159]}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 03:42:40