如何提取NumPy数组或普通数组最后3个值判断其升序降序或混合状态
普通Python列表实现
# 先校验数组长度是否满足要求 if len(ar1) < 3: print("数组长度不足3,无法完成校验") else: last3 = ar1[-3:] if last3[0] < last3[1] < last3[2]: check_result = "升序" elif last3[0] > last3[1] > last3[2]: check_result = "降序" else: check_result = "混合" print(check_result)
校验效果:
- 输入
[34726, 34739, 34745]→ 输出升序 - 输入
[34726, 34719, 34715]→ 输出降序 - 输入
[34726, 34719, 34725]→ 输出混合
NumPy数组实现
如果使用NumPy数组存储数据,可通过差分方法简化逻辑:
import numpy as np ar1_np = np.array(ar1) if len(ar1_np) < 3: print("数组长度不足3,无法完成校验") else: # 取最后三个值做差分计算 diff_res = np.diff(ar1_np[-3:]) if (diff_res > 0).all(): check_result = "升序" elif (diff_res < 0).all(): check_result = "降序" else: check_result = "混合" print(check_result)
内容的提问来源于stack exchange,提问作者Subha
相关产品推荐
相关产品推荐

