输入二维数组每一列最小值
时间: 2023-12-14 12:39:51 浏览: 27
假设输入的二维数组为 `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` 列表,打印出每一列的最小值。
相关问题
获得二维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]`。
c语言求二维数组每列最小值
可以使用嵌套循环遍历二维数组,对于每一列再进行一次循环,找到该列的最小值。以下是示例代码:
```c
#include <stdio.h>
#define ROWS 3
#define COLS 4
int main() {
int arr[ROWS][COLS] = {
{1, 3, 5, 7},
{2, 4, 6, 8},
{0, 9, -1, 10}
};
int min_arr[COLS]; // 用于存储每列的最小值
// 初始化最小值数组
for (int j = 0; j < COLS; j++) {
min_arr[j] = arr[0][j];
}
// 遍历每列
for (int j = 0; j < COLS; j++) {
// 找到该列的最小值
for (int i = 1; i < ROWS; i++) {
if (arr[i][j] < min_arr[j]) {
min_arr[j] = arr[i][j];
}
}
}
// 输出每列的最小值
for (int j = 0; j < COLS; j++) {
printf("第%d列的最小值为:%d\n", j+1, min_arr[j]);
}
return 0;
}
```
输出结果为:
```
第1列的最小值为:0
第2列的最小值为:3
第3列的最小值为:-1
第4列的最小值为:7
```