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

如何基于子列表中的'INS'元素对嵌套列表进行分组

按'INS'子列表分组嵌套列表的实现方法

实现思路

遍历原lines列表,每当遇到以'INS'作为第一个元素的子列表时,创建新分组并加入该子列表;后续非INS开头的子列表直接加入当前分组,直到下一个INS子列表出现时,将当前分组存入结果并新建分组,循环结束后再把最后一个分组加入结果即可。

Python代码实现

lines = [
    ['INS', 'Y', '18', '024', '07', 'A', '', '', 'TE'],
    ['REF', '0F', '708066255'],
    ['REF', '1L', '708066255'],
    ['DTP', '303', 'D8', '20240901'],
    ['DTP', '356', 'D8', '20240801'],
    ['NM1', 'IL', '1', 'FIGUEROA', 'LILIET', '', '', '', '34', '536899858'],
    ['N3', '2670 SO A W GRIMES BO', '#6102'],
    ['N4', 'ROUND ROCK', 'TX', '786642849', '', 'CY', '246'],
    ['DMG', 'D8', '19931219', 'F', '', 'H'],
    ['INS', 'Y', '18', '024', '07', 'A', '', '', 'TE'],
    ['REF', '0F', '811229070'],
    ['REF', '1L', '811229070'],
    ['DTP', '303', 'D8', '20240901'],
    ['DTP', '356', 'D8', '20240201'],
    ['NM1', 'IL', '1', 'MORILLO RUZA', 'OMARLY', 'V', '', '', '34', '000000000'],
    ['PER', 'IP', '', 'HP', '5129233526'],
    ['N3', '154 TERRI TL'],
    ['N4', 'ELGIN', 'TX', '786218937', '', 'CY', '011'],
    ['DMG', 'D8', '20040628', 'F', '', 'H']
]

result = []
current_group = []

for sublist in lines:
    if sublist[0] == 'INS':
        if current_group:
            result.append(current_group)
        current_group = [sublist]
    else:
        current_group.append(sublist)
if current_group:
    result.append(current_group)

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

输出结果

运行代码后,输出结构与预期完全一致:

[[['INS', 'Y', '18', '024', '07', 'A', '', '', 'TE'],
  ['REF', '0F', '708066255'],
  ['REF', '1L', '708066255'],
  ['DTP', '303', 'D8', '20240901'],
  ['DTP', '356', 'D8', '20240801'],
  ['NM1', 'IL', '1', 'FIGUEROA', 'LILIET', '', '', '', '34', '536899858'],
  ['N3', '2670 SO A W GRIMES BO', '#6102'],
  ['N4', 'ROUND ROCK', 'TX', '786642849', '', 'CY', '246'],
  ['DMG', 'D8', '19931219', 'F', '', 'H']],
 [['INS', 'Y', '18', '024', '07', 'A', '', '', 'TE'],
  ['REF', '0F', '811229070'],
  ['REF', '1L', '811229070'],
  ['DTP', '303', 'D8', '20240901'],
  ['DTP', '356', 'D8', '20240201'],
  ['NM1', 'IL', '1', 'MORILLO RUZA', 'OMARLY', 'V', '', '', '34', '000000000'],
  ['PER', 'IP', '', 'HP', '5129233526'],
  ['N3', '154 TERRI TL'],
  ['N4', 'ELGIN', 'TX', '786218937', '', 'CY', '011'],
  ['DMG', 'D8', '20040628', 'F', '', 'H']]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 05:22:08