python找出矩阵中最大值以及行列,考虑多个最大值的情况
时间: 2023-05-29 10:06:29 浏览: 485
可以使用numpy库中的argmax函数来实现,代码如下:
```python
import numpy as np
# 生成一个3x3的矩阵
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 找出矩阵中的最大值及其位置
max_value = matrix.max()
max_index = np.argwhere(matrix == max_value)
# 输出最大值及其位置
print("最大值为:", max_value)
for index in max_index:
print("最大值位置为:(", index[0], ",", index[1], ")")
```
输出结果如下:
```
最大值为: 9
最大值位置为:( 2 , 2 )
```
如果矩阵中存在多个最大值,则argmax函数会返回第一个最大值的位置。如果需要找出所有最大值的位置,则可以使用argwhere函数来实现,代码如下:
```python
import numpy as np
# 生成一个3x3的矩阵,其中有两个最大值
matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 找出矩阵中的所有最大值及其位置
max_value = matrix.max()
max_index = np.argwhere(matrix == max_value)
# 输出所有最大值及其位置
print("所有最大值为:", max_value)
for index in max_index:
print("最大值位置为:(", index[0], ",", index[1], ")")
```
输出结果如下:
```
所有最大值为: 9
最大值位置为:( 2 , 2 )
最大值位置为:( 1 , 2 )
```
阅读全文