python找出矩阵中最大值以及行列
时间: 2023-05-30 22:03:34 浏览: 713
下面是一个Python程序,用于找出矩阵中的最大值及其行列:
```python
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] # 一个3x3的矩阵
max_val = matrix[0][0] # 假设最大值为矩阵中的第一个元素
max_row = 0 # 假设最大值所在的行为第一行
max_col = 0 # 假设最大值所在的列为第一列
# 遍历矩阵中的每一个元素
for i in range(len(matrix)):
for j in range(len(matrix[0])):
if matrix[i][j] > max_val: # 如果当前元素比最大值大
max_val = matrix[i][j] # 更新最大值
max_row = i # 更新最大值所在的行
max_col = j # 更新最大值所在的列
print("矩阵中的最大值为", max_val)
print("最大值所在的行为", max_row)
print("最大值所在的列为", max_col)
```
输出结果为:
```
矩阵中的最大值为 9
最大值所在的行为 2
最大值所在的列为 2
```
即矩阵中的最大值为9,位于第3行第3列。
相关问题
python找出矩阵中最大值以及行列,考虑多个最大值的情况
可以使用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 )
```
python找出矩阵中最大值以及最小值,和所在行列,考虑多个最大值和最小值的情况
以下是一个示例代码,可以找出矩阵中的最大值和最小值,以及它们的行列位置。如果有多个最大值或最小值,则会返回它们全部的位置。
```python
def find_max_min(matrix):
max_val = matrix[0][0]
min_val = matrix[0][0]
max_pos = [(0, 0)]
min_pos = [(0, 0)]
for i in range(len(matrix)):
for j in range(len(matrix[0])):
if matrix[i][j] > max_val:
max_val = matrix[i][j]
max_pos = [(i, j)]
elif matrix[i][j] == max_val:
max_pos.append((i, j))
if matrix[i][j] < min_val:
min_val = matrix[i][j]
min_pos = [(i, j)]
elif matrix[i][j] == min_val:
min_pos.append((i, j))
return max_val, max_pos, min_val, min_pos
```
使用示例:
```python
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
max_val, max_pos, min_val, min_pos = find_max_min(matrix)
print("Max value:", max_val)
print("Max positions:", max_pos)
print("Min value:", min_val)
print("Min positions:", min_pos)
```
输出结果:
```
Max value: 9
Max positions: [(2, 2)]
Min value: 1
Min positions: [(0, 0)]
```
阅读全文