这里有一些示例来展示您的函数应该如何工作。
>>> valley([3,2,1,2,3])
True
>>> valley([3,2,1])
False
>>> valley([3,3,2,1,2])
False
我已经两天没睡了,我能写的最好的代码是
def valley(list):
first =False
second=False
midway=0
if(len(list)<2):
return False
else:
for i in range(0,len(list)):
if(list[i]<list[i+1]):
first=True
midway=i
break
for j in range(midway,len(list)-1):
if(list[j]<list[j+1] and j+1==len(list)):
Second=True
break
if(list[j]>=list[j+1]):
second=False
break
if(first==True and second==True):
return True
else:
return False
我找到的解决方案也适用于,如果这些数字不是完全顺序的,也没有必要,最低值必须等于1,我想说的是,如果列表是假设[14,12,10,5,3,6,7,32,41],这里也形成了一个山谷,因为值下降到3(最低),然后它又增加了。像[4,3,2,1,2,3,4]这样的列表是一个完美的山谷。
解决方案:
def valley(lst):
if len(lst)<2:
return False
else:
p = lst.index(min(lst))
for i in range (0,p):
x = (lst[i] > lst[i+1])
for q in range (p,len(lst)-1):
y = (lst[q]< lst[q+1])
return (x==y)
不要忘记接受它,如果这解决了问题,是最有帮助的,谢谢。
问题内容: 基本上,我想要一个选择语句,其功能如下: 是否存在这样的条件,或者您如何在nvarchar(10)列中检查非整数? 问题答案: 在你可以这样做:
问题内容: 如何查看索引是否包含某些数字? 问题答案: 您将为此进行字符串比较 询问数字是否“在”另一个数字中并没有真正的意义(除非您对“在”具有特定的定义)
我需要验证表中是否已经存在列。我的类扩展了CustomTaskChange,因此我的方法接收一个数据库对象作为参数。我可以通过ResultSetObject进行我想要的验证吗?
问题内容: 在SQL Server数据库中创建列或表之前,我想检查所需的表和/或列是否存在。 我到处搜索并找到2种方法。 存储过程,我不想使用 通过使用该方法并捕获异常来确定表/列是否存在,这对我来说是一个变通方法,但不是一个完美的解决方案。 还有另一种方法可以检查SQL Server中是否存在表/列吗? 问题答案: 要在创建架构之前检查其是否存在,请执行以下操作: 检查是否存在一列;您可以使用,
问题内容: 我想知道是否有一种方法可以检查Redis列表中是否已存在密钥? 我不能使用集合,因为我不想强制唯一性,但是我确实希望能够检查字符串是否确实存在。 问题答案: 您的选择如下: 如果发现并使用并替换它。 与您的个人保持独立 循环浏览直到找到项目或到达末尾。 Redis列表是作为http://en.wikipedia.org/wiki/Linked_list实现的,因此存在局限性。 我认为您
问题内容: 我想编写一个确定子列表是否存在于较大列表中的函数。 有Python函数可以做到这一点吗? 问题答案: 如果您确定输入内容仅包含数字0和1,那么可以转换为字符串: 这样会创建两个字符串,因此它不是最有效的解决方案,但是由于它利用了Python中优化的字符串搜索算法,因此对于大多数用途而言可能已经足够好了。 如果效率非常重要,则可以查看适用于列表的Boyer- Moore 字符串搜索算法。