【发布时间】:2016-03-10 03:30:05
【问题描述】:
我正在尝试编写一个程序,该程序使用递归判断 2 个列表是否完全相同,当列表不相同时它可以工作,但是当它们相同时,它给我一个错误,说列表索引已用完的范围。我写它的方式,我不直接比较列表(lst1 ==lst2)。我只是比较列表的单个元素和列表的长度。
def compare (lst1, lst2):
if len(lst1) != len(lst2):
return False
if lst1[0] != lst2[0]:
return False
return compare(lst1[1:],lst2[1:])
示例:
>>> compare(['ispython',1,2,3], ['isPYthon',1,2,3])
False
>>> compare(['ispython',1,2,3], [1,2,3])
False
>>> compare(['ispython',1,2,3], ['ispython',1,2,3])
True
【问题讨论】: