如何对以下具有当前状态内存的for循环进行矢量化处理(下面的变量“ current_state”)?我在这里琐碎了这个函数,真正的函数有点复杂,但是结构是相同的-它只是在太大的数组上运行而无法节省时间。总结:我需要知道存储在“ test_array”中的信号何时以及多少次超过或低于某个阈值:
test_array = [0,1,2,3,4,5,6,7,8,9,8,7,6,5,4,3,2,1,2,3,4,5,6,7,8,9,8,7,6,5,4,3,2,1]
results_array = []
current_state = '<=3'
for i in range(len(test_array)):
if current_state == 'mid' and test_array[i] >= 7:
current_state = '>=7'
results_array.append((i,current_state))
if current_state == 'mid' and test_array[i] <= 3:
current_state = '<=3'
results_array.append((i,current_state))
if current_state == '>=7' and test_array[i] < 7:
current_state = 'mid'
results_array.append((i,current_state))
if current_state == '<=3' and test_array[i] > 3:
current_state = 'mid'
results_array.append((i,current_state))
print results_array
我已经搜索了2天的stackoverflow,但是找不到使用这样的状态变量的类似示例。如果我只是在错误的地方看,请接受我的道歉并指出正确的地方。再次感谢您的好帮手!