我正在研究一个函数,给定一个序列,尝试在列表中找到所述序列,然后在该序列终止后立即返回列表项。
目前,此代码确实在序列结束后立即返回列表项,但是我对拥有这么多嵌套的 if 语句并不满意,并且很想重写它,但我不知道如何去做它与我过去写过的任何东西都不同,感觉有点不习惯。
def sequence_in_list(seq, lst):
m, n = len(lst), len(seq)
for i in xrange(m):
for j in xrange(n):
if lst[i] == seq[j]:
if lst[i+1] == seq[j+1]:
if lst[i+2] == seq[j+2]:
return lst[i+3]
(我的意图是扩展这个函数,以便如果该序列在整个列表中多次出现,它应该返回在序列之后最常发生的后续项目)