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

如何在Python元组列表中插入首项连续、第二项为0的补全元素

首项不连续元组列表补全连续首项实现方案

需求说明

现有首项为整数但不连续的元组列表,需要在相邻原有元组之间插入首项为连续递增值、第二项为0的元组,最终使列表所有元组首项完全连续。

输入示例

L = [(1, 12), (3, 14), (6, 19), ..., (7412, 15), (7415, 15)]

期望输出示例

L = [(1, 12), (2, 0) ,(3, 14), (4, 0), (5, 0), (6, 19), ... , (7412, 15), (7413, 0), (7414, 0), (7415, 15)]

实现代码(Python)

def fill_continuous_tuple_list(L):
    if not L:
        return []
    # 若原列表首项未按升序排列,先取消下一行的注释执行排序
    # L.sort(key=lambda x: x[0])
    res = [L[0]]
    for i in range(1, len(L)):
        prev_key = res[-1][0]
        curr_key, curr_val = L[i]
        # 插入中间缺失的连续首项元组
        for missing_key in range(prev_key + 1, curr_key):
            res.append((missing_key, 0))
        res.append(L[i])
    return res

# 调用示例
L = [(1, 12), (3, 14), (6, 19), (7412, 15), (7415, 15)]
result = fill_continuous_tuple_list(L)
print(result)

逻辑说明

  • 首先校验输入列表是否为空,为空直接返回空列表
  • 若原始列表的元组首项未按升序排列,可先通过首项排序保证后续插入逻辑正常
  • 遍历原始列表,每次对比当前元组首项和结果列表最后一个元组的首项,若存在间隔则插入所有缺失的首项对应、第二项为0的元组
  • 最后插入当前遍历到的原始元组,直到遍历完成

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 21:36:04