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

如何用Python创建列表元素与前置Title的连接关系字典?

实现非Title元素与前置有效Title的索引映射

输入列表

['Title', 'Text', 'Title', 'Title', 'Text', 'Title', 'Text', 'List', 'Text', 'Title', 'Text', 'Text']

需求说明

需要生成一个字典,规则如下:

  • 每个非Title元素的索引作为键,对应值是它最近的有效前置Title的索引
  • 「有效前置Title」指的是:该Title后面没有直接紧跟另一个Title;若某个Title后紧接着另一个Title,这个Title不关联任何元素

预期输出

{1:0,4:3,6:5,7:5,8:5,10:9,11:9}

实现方案(Python)

通过一次遍历即可完成,核心是跟踪当前有效的前置Title索引,代码如下:

lst = ['Title', 'Text', 'Title', 'Title', 'Text', 'Title', 'Text', 'List', 'Text', 'Title', 'Text', 'Text']
result = {}
current_valid_title = None

for idx, item in enumerate(lst):
    if item == 'Title':
        # 判断当前Title是否有效:要么是最后一个元素,要么下一个元素不是Title
        if idx == len(lst) - 1 or lst[idx + 1] != 'Title':
            current_valid_title = idx
    else:
        # 非Title元素关联当前有效Title的索引
        if current_valid_title is not None:
            result[idx] = current_valid_title

print(result)

代码解释

  1. 用current_valid_title变量记录当前有效的前置Title索引,初始值为None
  2. 遍历列表时:
    • 遇到Title元素,检查它的下一个元素(若存在)是否不是Title,满足条件则更新current_valid_title为当前索引(标记为有效Title)
    • 遇到非Title元素,只要当前有有效Title索引,就将该元素的索引与有效Title索引存入结果字典
  3. 遍历结束后,result就是符合要求的映射字典

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 02:55:22