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

Python中将扁平嵌套列表按指定标识分组为多层嵌套结构的方法

嵌套列表按起始标识分组实现方案

实现逻辑

  • 初始化空列表存放最终分组结果
  • 遍历原始数组的每一个子列表:
    • 若当前子列表首元素为'PRODUCT NAME PACK',说明是新分组起始,直接向结果列表中新增一个仅包含当前子列表的分组
    • 若为非起始标识子列表,直接追加到结果列表的最后一个分组中
  • 遍历完成后得到的结果列表即为目标格式数据

完整实现代码

# 原始输入数组
original_array = [
    ['PRODUCT NAME PACK', 'BAIGAM KOT', 'FIAZ BAGH', 'OLD ANARKALI', 'SULTAN PURA', 'TEZAB AAHATA', 'GHORAY SHAH', 'KOT KHAWAJA SAEED'],
    ['002188', 0, 0, 0, 0, 0, '2', '3'],
    ['PRODUCT NAME PACK', 'BAGHBAN PURA', 'GAWAL MANDI', 'OLD ANARKALI', 'MAYO HOSPITAL', 'GARHI SHAHU BAZAR', 'BILAL GUNJ', 'LADY WELLINGTON HOSPITAL'],
    ['002188', '3', 0, 0, 0, 0, 0, 0],
    ['008999', 0, 0, 0, 0, '1', 0, 0],
    ['012961', 0, 0, 0, 0, 0, '3', 0]
]

result = []
for item in original_array:
    if item[0] == 'PRODUCT NAME PACK':
        result.append([item])
    else:
        result[-1].append(item)

# 格式化打印验证结果
import pprint
pprint.pprint(result)

注意事项

上述代码默认原始数组首个元素为分组起始标识,如果你实际使用时存在首元素不是起始标识的场景,可以在追加到分组前添加if result:的边界判断,避免出现索引报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 20:15:03