如何按指定长度分割Python列表并保留相邻片段公共端点?
Python列表分割实现方案
实现思路
核心是跟踪每次分割的起始索引,每次从当前起始位置截取指定数量的元素后,将起始索引更新为当前片段的最后一个元素索引,确保下一段以上一段的末尾元素作为起点,实现相邻片段保留公共端点的需求。
代码实现
points_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 1] index_list = [2, 2, 6, 3] result = [] current_start = 0 for count in index_list: # 截取当前起始位置开始的count个元素 segment = points_list[current_start:current_start + count] result.append(segment) # 更新起始位置为当前片段的最后一个元素索引 current_start += count - 1 print(result)
代码说明
current_start初始化为0,代表第一次分割从列表首个元素开始。- 遍历
index_list中的每个元素count:- 通过切片
points_list[current_start:current_start + count]获取当前分割片段。 - 将片段添加到结果列表
result中。 - 把
current_start更新为current_start + count - 1,让下一段的起始点正好是当前段的末尾元素,保证相邻片段共享公共端点。
- 通过切片
- 运行后输出的
result即为目标分割结果:[[1,2],[2,3],[3,4,5,6,7,8],[8,9,1]]
内容的提问来源于stack exchange,提问作者Charith
相关产品推荐
相关产品推荐

