遍历行,最大值不是对应列怎么编写
时间: 2024-03-14 12:45:07 浏览: 50
Something-Important.rar_最大值下标 C++
您可以在遍历行的过程中记录最大值的索引,然后在行遍历完成后,再遍历一遍对应列,找到最大值的位置。以下是一个示例代码:
```python
# 假设有一个二维数组 matrix
max_value = float('-inf') # 初始化最大值为负无穷
max_index = None # 初始化最大值的索引为 None
# 遍历每一行
for i, row in enumerate(matrix):
# 记录当前行的最大值和索引
row_max_value, row_max_index = max((value, index) for index, value in enumerate(row))
# 如果当前行的最大值比之前记录的最大值大,则更新最大值和索引
if row_max_value > max_value:
max_value = row_max_value
max_index = (i, row_max_index)
# 遍历对应列,找到最大值的位置
column_max_index = max(range(len(matrix)), key=lambda i: matrix[i][max_index[1]])
print(f"最大值为 {max_value},位置为 {max_index},对应列的最大值位置为 ({column_max_index}, {max_index[1]})")
```
该代码中,`max()`函数用于找到当前行的最大值及其索引,`enumerate()`函数用于同时遍历行和列的索引,`float('-inf')`表示负无穷,`range()`函数用于生成一个数字序列,`key`参数用于指定按照哪个关键字进行比较。
阅读全文