我有這個功能函數返回的是連續的列表中的所有子序列
def conseq_sequences(li, length):
""" Takes a list and a length. Returns all sub-sequences in li that
are successice (e.g. [1,2,3] or [5,6,7,8]) and of the right length.
E.g. >>> conseq_sequences([1,6,7,8,9,8,9], length=3)
[[6,7,8], [7,8,9]]
"""
return [li[n:n + length] for n in range(len(li) - length + 1)
if li[n:n + length] == range(li[n], li[n] + length)]
此功能存在於類,而我無法理解的方式這是行不通的。當我調用它時,我會得到一個空序列。
>>> conseq_sequences([1,6,7,8,9,8,9], length=3)
[]
有人能幫助使修改它,以便返回列表中是連續的所有子序列,如例子嗎?
'我無法理解它不起作用的方式 - 你是什麼意思? – thefourtheye
當我作出:conseq_sequences([1,6,7,8,9,8,9],長度= 3),它返回:[] – sss
我得到'[[6,7,8],[7,8 ,9]]如預期。 – thefourtheye