gpt4 book ai didi

python - 在特定时间间隔内找到列表最大值的最快方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:18:55 26 4
gpt4 key购买 nike

我有一个包含 1024 个元素的列表。我想检查我确定的间隔之间列表的最大值。

例如 X 是我的 numpy 数组形式的列表。然后;

if np.amax(X[0:31]) > 200:
print("1")
elif np.amax(X[0:31]) < 200:
print("1a")

if np.amax(X[32:63] > 200:
print("2")
elif np.amax(X[32:63] < 200:
print("2a")

并且 if - elif 语句一直运行到 X[992:1023]。这意味着有 16 个间隔和 16 个 if-elif 语句。有没有更有效的方法来做到这一点?

编辑:感谢您的回答。但问题有点不同。让我试着用一个例子来解释它。这些间隔的每个结果都会点亮一个 LED。有 16 个间隔和 16 个不同的 LED。更多的最大值边界有 3 层。我没有提到它。但是比如(max<200), (200>max<500), (max > 500)。有点复杂。

最佳答案

好吧,对于这样的规则间隔,标准的 for 循环应该可以。对于初学者,这将起作用:

for x in xrange(0, 1024, 32):  # 0, 32, 64, ... , 992
m = np.amax(X[x:x+32])
if m > 200:
print(str(x/32 + 1)) # 1, 2, 3, ... , 32 (not 16)
elif m < 200:
print(str(x/32 + 1) + 'a') # 1a, 2a, 3a, ...

我假设您想在第一个间隔中包含索引 31。您的代码将省略索引 3163 等。

关于python - 在特定时间间隔内找到列表最大值的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36669219/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com