嗨:我的问题跟标题上说的一模一样。这样做的目的是建立一个函数,为子序列取一个序列和一个所需的长度。然后返回这些子序列中有多少是按递增顺序排列的。我想我得到了第一部分(将一个序列分割成x长度序列),但是我不知道如何知道其中有多少是按递增顺序排列的,因此如果能提供任何帮助,我们将不胜感激。到目前为止,这就是我所拥有的:
def subsequences(sequence, length):
[sequence[i :i+length] for i in range (0, len(sequence0, length)]这就分裂了序列。我如何知道有多少子序列是按递增顺序排列的?例如:
>>>subsequences(‘1234’, 2)首先找到“12”和“34”的子序列,然后检查其中有多少在增加。将返回2,因为两个子序列的顺序是递增的。
>>>subsequences(‘12135267’, 2)首先会找到‘12’,‘13’,‘52’,‘67’的子序列。就会发现其中只有三个在增长。将返回3
>>>subsequences(‘322123453678’, 3)找到这样‘322’,‘123’,‘453’,678‘的子序列。就会发现其中只有两个在不断增长。将返回2
发布于 2022-10-19 19:07:43
Python中判断序列的递增顺序的一般方法是:
import itertools
all(x <= y for x, y in itertools.pairwise(s))您可能需要将<=更改为“<”,这取决于您是否认为1223是一个递增序列。
你应该能把这个融入你的程序中。
https://stackoverflow.com/questions/74128015
复制相似问题