输入二维数组每一列最小值
时间: 2023-12-14 09:39:51 浏览: 74
假设输入的二维数组为 `arr`,可以使用以下代码求出每一列的最小值:
```python
# 初始化一个长度为列数的列表,用于存储每一列的最小值
min_vals = [float('inf')] * len(arr[0])
# 遍历二维数组的每个元素,更新每一列的最小值
for i in range(len(arr)):
for j in range(len(arr[0])):
if arr[i][j] < min_vals[j]:
min_vals[j] = arr[i][j]
# 打印每一列的最小值
for i in range(len(min_vals)):
print(f"第{i}列的最小值为:{min_vals[i]}")
```
其中,`float('inf')` 表示正无穷大,用于初始化每一列的最小值。在遍历数组时,如果当前元素比该列的最小值小,则更新该列的最小值。最后,遍历 `min_vals` 列表,打印出每一列的最小值。
相关问题
c语言输出二维数组每列的最小值
在C语言中,要输出二维数组每列的最小值,你可以创建一个循环遍历每一行,然后在内层循环中比较当前元素与其他元素,找出每列的最小值。以下是一个简单的示例:
```c
#include <stdio.h>
#define ROWS 3 // 数组的行数
#define COLS 4 // 数组的列数
void print_col_min(int arr[ROWS][COLS]) {
int i, j;
for (i = 0; i < COLS; i++) { // 遍历每一列
int min_val = arr[0][i]; // 初始列最小值设为第一行第一个元素
for (j = 1; j < ROWS; j++) { // 内层循环比较其他元素
if (arr[j][i] < min_val) {
min_val = arr[j][i];
}
}
printf("Column %d minimum value: %d\n", i+1, min_val); // 输出该列的最小值
}
}
int main() {
int arr[ROWS][COLS] = {
{5, 9, 7, 2},
{1, 8, 6, 3},
{4, 7, 10, 1}
};
print_col_min(arr);
return 0;
}
获得二维numpy数组每一列最小值所对应的行索引
你可以使用`argmin`函数来找出每一列的最小值所在的行索引。例如:
```python
import numpy as np
# 创建一个二维numpy数组
arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
# 找出每一列的最小值所在的行索引
min_row_indexes = arr.argmin(axis=0)
print(min_row_indexes) # 输出 [0 0 0]
```
在上面的例子中,`argmin`函数的`axis`参数被设置为`0`,这表示函数将在每一列中查找最小值。函数返回一个一维数组,其中每个元素表示对应列的最小值所在的行索引。在这个例子中,所有的最小值都在第一行,因此函数返回`[0, 0, 0]`。
阅读全文