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

Python如何将列表按非空首行元素分组为字典

解决方案

可以通过遍历列表并跟踪当前分组键的方式实现需求:

  1. 初始化空字典存储结果,再用变量记录当前分组键
  2. 逐个遍历原列表中的子列表:
    • 若子列表第一个元素非空,将其设为当前分组键,并在字典中为该键创建空列表
    • 若子列表第一个元素为空,就把这个子列表追加到当前分组键对应的列表中

对应的Python代码如下:

l = [
    ['one'],
    ['', 'any'],
    ['', 'anynay'],
    ['', 'val'],
    ['two'],
    ['', 'dss'],
    ['tr'],
    ['', 'ff'],
    ['', 'mnb']
]

d = {}
current_key = None

for item in l:
    first_element = item[0]
    if first_element:
        current_key = first_element
        d[current_key] = []
    else:
        if current_key is not None:
            d[current_key].append(item)

print(d)

运行代码后输出结果:

{
    'one': [['', 'any'], ['', 'anynay'], ['', 'val']],
    'two': [['', 'dss']],
    'tr': [['', 'ff'], ['', 'mnb']]
}

注:你提供的示例结果中'tr'对应的最后一个元素是['', 'mb'],这应该是笔误,代码会按照原列表的实际值['', 'mnb']处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 15:19:55