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

Python数据处理:如何将CODE分组匹配到对应AA条目?

解决方案

我们可以通过遍历数据集,跟踪每个AA条目并关联其后续的CODE块来实现需求。核心逻辑是:识别AA的起始块并记录当前编号,遇到CODE块时收集所有CODE值,当遇到下一个AA块时,将收集到的CODE绑定到上一个AA,再处理新的AA。

实现代码

thelist = [[
    [['AA', '24', '', None]],
    [['AA', 'Title', 'A/A agr'], ['48079687', 'Pers', '5', '']],
    [['AA', 'Syg.', 'Cro'], ['1', 'YES', 'Animal', 'Ksiriki']],
    [['CODE'], ['NB-1', 's'], ['NB-17', '']],
    [['AA', '26', '', None]],
    [['AA', 'Title', 'A/A agr'], ['56779687', 'Pers', '1', '']],
    [['AA', 'Syg.', 'Cro'], ['1', 'NO', 'Cotton', 'Fid']],
    [['CODE'], ['NB-11', 'g']],
    [['AA', '27', '', None]],
    [['AA', 'Title', 'A/A agr'], ['34579687', 'Pers', '1', '']],
    [['AA', 'Syg.', 'Cro']],
    [['AA', '29', '', 'Someth']],
    [['AA', 'Title', 'A/A agr'], ['12079687', 'Pers', '5', '']],
    [['AA', 'Syg.', 'Cro'], ['1', 'NO', 'BAMB', 'ST']]]]

# 展开外层嵌套列表,简化遍历
data = thelist[0]
aa_code_map = {}
current_aa = None
code_collector = []

for item in data:
    # 识别AA起始块(第一个子列表以AA开头且第二个元素为数字编号)
    if item[0][0] == 'AA' and len(item[0]) >=2 and item[0][1].isdigit():
        # 将之前收集的CODE绑定到上一个AA
        if current_aa is not None and code_collector:
            aa_code_map[current_aa] = code_collector
            code_collector = []
        # 记录当前AA编号并初始化CODE为None
        current_aa = item[0][1]
        aa_code_map[current_aa] = None
    # 识别CODE块并收集CODE值
    elif item[0][0] == 'CODE':
        code_collector = [code_item[0] for code_item in item[1:]]

# 处理末尾可能剩余的未绑定CODE
if current_aa is not None and code_collector:
    aa_code_map[current_aa] = code_collector

# 输出最终对应关系
for aa, codes in aa_code_map.items():
    print(f"AA{aa}对应CODE: {codes}")

输出结果

AA24对应CODE: ['NB-1', 'NB-17']
AA26对应CODE: ['NB-11']
AA27对应CODE: None
AA29对应CODE: None

逻辑说明

  • 先展开外层嵌套列表,避免多层嵌套带来的遍历复杂度;
  • 用current_aa跟踪当前处理的AA编号,code_collector临时存储当前AA对应的CODE值;
  • 遇到新的AA块时,先完成上一个AA与CODE的绑定,再初始化新AA的CODE为None;
  • CODE块处理时,提取每个子列表的第一个元素作为有效CODE值,统一收集为列表;
  • 最后检查并处理数据集末尾可能存在的未绑定CODE块,保证逻辑完整性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 15:47:16