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

Python如何实现首尾元素匹配的相邻嵌套列表合并功能

正确实现代码

a = [[1, 2], [4, 6], [3, 4]]
# 按子列表首元素排序
sort_a = sorted(a, key=lambda pos: pos[0])

# 处理空列表边界情况
if not sort_a:
    merge_result = []
else:
    # 初始化结果列表,存入第一个子列表作为基准
    merge_result = [sort_a[0]]
    # 从第二个子列表开始遍历比较
    for current_sub in sort_a[1:]:
        # 取结果列表中最后一个子列表做比较
        last_sub = merge_result[-1]
        if last_sub[1] == current_sub[0]:
            # 满足合并条件,替换结果列表最后一个元素为合并后的子列表
            merge_result[-1] = [last_sub[0], current_sub[1]]
        else:
            # 不满足条件直接追加当前子列表
            merge_result.append(current_sub)

print(merge_result)

运行输出为:

[[1, 2], [3, 6]]

原代码问题说明

  • 原for i, j in sort_a的写法是直接遍历子列表的元素值,并非索引,无法获取相邻子列表做比较
  • 遍历原排序数组的同时修改数组容易出现索引越界问题,使用独立的结果列表存储合并内容更稳妥
  • 该实现同时支持多组连续可合并的子列表场景,无需额外调整逻辑

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 11:27:00