python - 仅使用列表和循环的单调函数(没有 numpy 和箭头)
问题描述
monotonic_function 输入:列表输出:返回布尔值列表(真/假),例如:
sequence_monotonicity([1,2,3,4,5,6]) return [True,True,False,False]
sequence_monotonicity([1,2,2,3]) return [True,False,False,False]
sequence_monotonicity([1,0,-1,1]) return [False,False,False,False]
规则是:我不能使用所有、任何/或导入任何东西(比如 numpy)
如果 a(n-1) <= a(n) 正确,则返回 True 到列表的第一位,否则返回:False
if (an-1) < a(n) 是正确的,它返回 True 到列表的第二位,否则:返回 false
如果 a(n-1) >=a(n) 正确,则返回 True 到列表的第三位,否则:返回:False
如果 a(n-1) > a(n) 正确,则返回 True 到列表的第 4 位,否则:返回 False
我试图在没有numpy“thedumbest”方式的情况下做到这一点,但我没有得到正确的答案
这就是我尝试过的:
def true_false_checker(x):
if False in x:
return False
else:
return True
def sequence_monotonicity(l):
z =[]
x = []
for i in range(1,len(l)):
if l[i-1] <= l[i]:
x.append(True)
else:
x.append(False)
if true_false_checker(x) == True:
z.append(True)
else:
z.append(False)
if l[i-1] < l[i]:
x.append(True)
else:
x.append(False)
if true_false_checker(x) == True:
z.append(True)
if l[i-1] >= l[i]:
x.append(True)
else:
x.append(False)
if true_false_checker(x) == True:
z.append(True)
if l[i-1] > l[i]:
x.append(True)
else:
x.append(False)
if true_false_checker(x) == True:
z.append(True)
return z
'''
解决方案
那这个呢?
def seq_mon(l):
r = [True]*4
for x in [a-b for a,b in zip(l[:-1],l[1:])]:
r[0] &= x<=0
r[1] &= x<0
r[2] &= x>=0
r[3] &= x>0
return r
推荐阅读
- java - 为什么我得到类型参数“S”的推断类型“S”不在其范围内;在我的安全配置中?
- javascript - 如何将异步对象传递给反应中的道具?
- node.js - 在 react 中安装 npm 时遇到错误
- php - 如何从 Laravel 中接收到的值中获取会话令牌?
- javascript - 访客如何在我的网站上播放隐藏的 youtube 视频
- pandas - java.lang.NoSuchMethodError: com.google.flatbuffers.FlatBufferBuilder.createString(Ljava/lang/CharSequence;)I
- database - Postgres - 如何从 CSV 转储 BLOB 数据
- javascript - hapi/lab (and jest): 有没有办法在单独的 js 文件中有一个描述块?
- c++ - c ++将对象从另一个类传递给方法
- reactjs - React Material ui 无法评估效果.next