给定一个二维数组 arr = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]),提取出数组中四个角上的元素,并将这些元素替换为它们的平方。
时间: 2025-03-31 20:12:53 浏览: 20
### 实现方法
要实现将二维 NumPy 数组的四个角落元素替换为其平方值的操作,可以按照以下方式完成:
1. 首先定义一个二维数组。
2. 使用索引来访问并修改四个角落的位置(左上角、右上角、左下角、右下角)。
3. 替换这些位置的值为对应的平方。
以下是完整的 Python 代码示例以及解释:
```python
import numpy as np
# 定义一个二维数组
array = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# 获取原始数组的尺寸
rows, cols = array.shape
# 修改四个角落的值为平方值
array[0, 0] = array[0, 0] ** 2 # 左上角
array[0, cols - 1] = array[0, cols - 1] ** 2 # 右上角
array[rows - 1, 0] = array[rows - 1, 0] ** 2 # 左下角
array[rows - 1, cols - 1] = array[rows - 1, cols - 1] ** 2 # 右下角
print(array)
```
上述代码通过 `shape` 属性获取数组的行列数,并利用索引分别定位到四个角落的元素。随后将其替换为各自的平方值[^1]。
### 输出结果
假设输入数组为:
```
[[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
```
运行以上代码后,输出将是:
```
[[ 1, 2, 9],
[ 4, 5, 6],
[49, 8, 81]]
```
可以看到,四个角落的元素已经被成功替换为其平方值。
---
### 注意事项
- 如果数组不是方形矩阵,则仍可以通过相同的逻辑来操作四个角落的元素。
- 对于更复杂的场景,比如动态调整大小或更高维数组,可能需要额外考虑边界条件和多维索引[^2]。
---
阅读全文
相关推荐



















