所以,我必须检查子列表是否存在于列表中,并且也必须按顺序出现在列表中。如果列表中存在子列表,则函数应返回true。如果不是,它应该返回false。我创建了一个函数试图做到这一点,有人能告诉我,如果我在正确的轨道上或我应该修复,b/c现在它不工作。你知道吗
def subfunc(L,sublist):
for i in range (len(L)):
if L[i:i+len(sublist)] == sublist:
print "true"
else:
print "false"
例如,如果子列表是[3,4]
,而列表是[0,1,2,3,4,5]
,则应该返回true。如果子列表是[5,1]
,它应该返回false。你知道吗
这似乎可以解决边缘问题:
你的主要问题是,你给每个职位一个值(真或假)。在第一个位置上找不到子列表并不意味着以后找不到它,因此您应该等到找到它(当您找到它时停止迭代并在第一个位置上返回
True
),或者确定没有找到它(在您检查完所有元素后返回False
,它们“不是它”)。你知道吗你很接近!你知道吗
False需要在循环之外,因此如果循环没有成功完成,那么将返回False。另外,您只想循环到len(L)-len(sublist)+1。你知道吗
相关问题 更多 >
编程相关推荐