提问人:Amelia Johnny 提问时间:10/19/2022 最后编辑:Amelia Johnny 更新时间:10/20/2022 访问量:35
如何判断每个子序列是否为递增阶 python
How to tell if each subsequence is of increasing order python
问:
嗨:)我的问题和标题说的一模一样。这个想法是制作一个函数,该函数为子序列和所需的长度。然后返回其中有多少个子序列是按递增顺序排列的。我想我得到了第一部分(将一个序列拆分为 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
答:
1赞
Frank Yellin
10/20/2022
#1
Python 中判断序列 s 是否按递增顺序的一般方法是
import itertools
all(x <= y for x, y in itertools.pairwise(s))
您可能需要更改为“<”,具体取决于您是否认为是一个递增序列。<=
1223
您应该能够将其放入您的程序中。
评论
0赞
Amelia Johnny
10/20/2022
非常感谢您抽出宝贵时间回答:)。出于某种原因,我无法导入intertools ...它给了我一个 ModuleNotFoundError,说没有名为 intertools 的模块。你能想出其他方法来解决这个问题吗?如果没有,不用担心!
0赞
Frank Yellin
10/21/2022
itertools
不。intertools
评论