def isIncreasing(seq):
flag = True
for i in range(len(seq) - 1):
if seq[i + 1] < seq [i]:
flag = False
return flag
a = [1, 2, 3, 4, 5] # print True
b = [2, 3, 1, 5, 4] # print False
我有两个序列。 如果序列递增,还有什么更好的方法来修改我的函数?
答案 0 :(得分:1)
答案 1 :(得分:1)
找到一个更好的返回。您可以利用pythons built in functions来做到这一点:
def isIncreasing(seq):
return all(a<b for a,b in zip(seq,seq[1:]))
这会将您的序列压缩成对:
[1,2,3,4] => [(1,2),(2,3),(3,4)]
并检查每对。 all()
一旦找到False
就终止。
文档:
答案 2 :(得分:1)
使用numpy.diff()和all()
In [33]: all(i>=1 for i in np.diff(b))
Out[33]: False
In [34]: all(i>=1 for i in np.diff(a))
Out[34]: True