找到数组中非零最大值和最小值
时间: 2023-08-09 21:11:26 浏览: 424
子数组搜索-版块汇总matlab手册教程帮助命令大全-MATLAB实验仿真与算法设计
你可以使用以下 Python 代码来找到数组中非零最大值和最小值:
```python
import numpy as np
arr = np.array([0, 2, 3, 0, 5, 0, 7, 0])
nonzero_arr = arr[arr != 0] # 取出非零值
if len(nonzero_arr) > 0:
max_val = np.max(nonzero_arr) # 取出最大值
min_val = np.min(nonzero_arr) # 取出最小值
print(f"非零最大值:{max_val}, 非零最小值:{min_val}")
else:
print("数组中没有非零值")
```
解释:
1. 使用 NumPy 库创建一个数组 `arr`,其中包含一些非零值和零值。
2. 使用 NumPy 库的布尔索引,取出非零值构成一个新的数组 `nonzero_arr`。
3. 如果 `nonzero_arr` 中存在值,使用 NumPy 库的 `max` 和 `min` 函数分别取出最大值和最小值。
4. 如果 `nonzero_arr` 中不存在值,则输出提示信息。
注意:在运行代码之前,需要先安装 NumPy 库。
阅读全文