如何将n个列表中每个列表的最后三个元素移动到下一个列表中?
实现方案
核心逻辑
我们可以通过切片操作快速提取每个列表的指定部分,按规则拼接得到结果:
- 第一个结果列表 = 原第一个列表去掉末尾3个元素的部分
- 中间的结果列表 = 前一个原列表的末尾3个元素 + 后一个原列表去掉末尾3个元素的部分
- 最后一个结果列表 = 原最后一个列表的末尾3个元素
Python 代码实现
def process_lists(original_lists): if not original_lists: return [] result = [] # 添加第一个处理后的子列表 result.append(original_lists[0][:-3]) # 处理相邻子列表的拼接 for idx in range(len(original_lists) - 1): prev_suffix = original_lists[idx][-3:] next_prefix = original_lists[idx + 1][:-3] result.append(prev_suffix + next_prefix) return result # 测试用例 input_lists = [ [1, 2, 3, 4, 5, 6, 7], [8, 9, 10, 11], [12, 13, 14, 15] ] output = process_lists(input_lists) print(output)
运行结果
[[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12], [13, 14, 15]]
内容的提问来源于stack exchange,提问作者abhi
相关产品推荐
相关产品推荐

