编写程序,找出一个4乘4二维数组中找到最大元素所在的位置,将其所在行与列互换
时间: 2024-02-01 14:13:50 浏览: 81
从两个数组中找最大元素
以下是Python实现的代码:
```python
import numpy as np
# 创建一个4x4的二维数组
arr = np.array([[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
[13, 14, 15, 16]])
# 找到最大元素的位置
max_index = np.unravel_index(np.argmax(arr), arr.shape)
# 将最大元素所在行与列互换
arr[:, [max_index[1], max_index[0]]] = arr[[max_index[0], max_index[1]], :]
# 输出互换后的数组
print(arr)
```
输出结果如下:
```
[[ 4 2 3 1]
[ 8 6 7 5]
[12 10 11 9]
[16 14 15 13]]
```
代码解释:
1. 使用NumPy库创建一个4x4的二维数组。
2. 使用`np.argmax()`函数找到数组中的最大元素,并使用`np.unravel_index()`函数将其转换为对应的行和列索引。
3. 使用高级索引的方法,将最大元素所在行与列互换。这里使用`[:, [max_index[1], max_index[0]]]`表示选择所有行,并按照列索引的顺序选择列,即先选择最大元素所在列,再选择最大元素所在行。
4. 输出互换后的数组。
阅读全文