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

Python函数reversed_list逻辑错误排查:返回结果不符合预期

问题分析:reversed_list函数错误原因

先看原函数代码:

def reversed_list(lst1, lst2):
  for index in range(len(lst1)):
    if lst1[index] != lst2[len(lst2) - 1- index]:
      return False
    else: 
      return True

核心错误

函数在第一次循环迭代时就直接返回结果,没有完成所有元素的对比:

  • 只要第一个位置的元素相等,就立刻返回True,后续元素的对比完全没执行;如果第一个元素不等,就返回False。
  • 对应测试用例reversed_list([1,5,3], [3,2,1]),第一次对比lst1[0] = 1和lst2[2] = 1,相等就直接返回True,根本没检查lst1[1]与lst2[1](5 vs 2)、lst1[2]与lst2[0](3 vs 3)这两组元素。

修复方案

只有当所有元素对比完成且全部相等时,才返回True;只要有一组元素不相等,就立即返回False。同时建议先判断两个列表长度是否一致(长度不同不可能互为逆序):

def reversed_list(lst1, lst2):
    if len(lst1) != len(lst2):
        return False
    for index in range(len(lst1)):
        if lst1[index] != lst2[len(lst2) - 1 - index]:
            return False
    return True

测试验证

运行测试代码:

print(reversed_list([1, 2, 3], [3, 2, 1]))  # 输出True
print(reversed_list([1, 5, 3], [3, 2, 1]))  # 输出False

结果符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 18:50:26