首页 > 解决方案 > Python,函数,这里发生了什么?如果 lst1[index] != lst2[len(lst2) - 1 - index]

问题描述

有人可以帮我理解第 3 行吗?

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

谢谢

标签: pythonlistfunction

解决方案


函数reversed_list所做的是测试lst1是否是lst2的反转版本(倒数也是如此)。

让我们想象一下lst1是:

lst1 = [0, 1, 2, 3]

如果lst2lst1的反转版本,则lst2必须按此顺序包含函数返回 true 的以下值:

lst2 = [3, 2, 1, 0]

在此示例中,len(lst1)等于4并且len(lst2)也等于4,因此if条件正在验证,在第一次迭代中,如果值lst1[0 (index) ]等于lst2[ 4 (len(lst2)) - 1 - 0 (索引) ]

请注意,如果lst2如下所示,则函数reversed_list也将返回 true:

lst2 = [20, 15, 10, 5, 3, 2, 1, 0]

推荐阅读