Python实现列表元素仅与后续元素配对输出的代码问题问询
Python代码修改方案
现有代码的问题在于递归遍历时没有过滤基准元素之前的下标,且pass打印顺序和配对输出逻辑不符合预期,修改后可直接得到目标输出。
修改后完整代码
l = [0,1,2,3] count = 0 def ab(): global count # 先输出当前轮次的pass标记 print(f'pass {count}') for index, elem in enumerate(l): # 仅配对当前基准元素之后的下标 if index > count: print(f'finding from {l[count]} to {l[index]}') count += 1 # 未到最后一个基准元素则继续递归 if count < len(l) - 1: ab() ab()
核心改动说明
- 调整执行顺序:进入函数后先打印当前轮次的
pass信息,符合期望输出的格式要求 - 新增下标判断:通过
index > count过滤掉基准元素自身及前置元素的无效配对 - 简化递归逻辑:调整终止条件为
count < len(l) - 1,避免多余的无效递归调用
内容的提问来源于stack exchange,提问作者user17096936
相关产品推荐
相关产品推荐

