【问题标题】:best way to recognize this pattern?识别这种模式的最佳方法是什么?
【发布时间】:2020-02-04 21:37:10
【问题描述】:

我想识别一个模式,只是一个包含四个双数的列表。说列表(L) 例如0,3,1,2

标准是,

L[1] > L[0]
L[2] < L[1] and L[2] > L[0]
L[3] < L[1]

这就像一个正弦波,我想知道是否有一种简单的方法可以完成迭代检查,比如 FFT ?但只是对于一系列 4 个数字,使用转换并不是那么有益。

谢谢

【问题讨论】:

  • 你可以把你的逻辑包装成一个函数吗?
  • 只需编写复合if 语句即可。这对你没有什么好处?
  • 如果您想根据您所描述的标准来处理 4 个数字的特定情况,您只需将这些比较 and 转换为 if 语句...
  • 正确。最简单的方法是放入一个函数,如果有更复杂的形状怎么办。

标签: python transform


【解决方案1】:

好吧,如果您只想对其进行迭代,您可以简单地将其放入一个函数中,我想就像 James 所说的那样。也许您正在寻找类似以下的内容。

L = [0,3,1,2]
def check(L):
    return L[1] > L[0] and L[2] < L[1] and L[2] > L[0] and L[3] < L[1]

print(check(L))

【讨论】:

  • 只要return L[1] &gt; L[0] and L[2] &lt; L[1] and L[2] &gt; L[0] and L[3] &lt; L[1] 就可以了。无需使用if 语句从布尔表达式中生成布尔表达式。
猜你喜欢
  • 1970-01-01
  • 2014-05-12
  • 1970-01-01
  • 2015-02-12
  • 1970-01-01
  • 2017-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多