创建一个5阶魔方数组A,执行下列操作: (1)将数组A中单下标序号7,8,9,10转换为全下标序号 (2)获取A的4行3列元素 (3)获取A的第12个元素 (4)获取位于“2,4行和3,5列交叉位置上的子数组” (5)获取1,3行全部元素构成的子数组 (6)访问第3,8,18号元素,输出结果分别为行数组、列数组 (7)把2,4行和3,5列交叉位置上的子数组元素置为1,生成的新数组记为B (8)把B中小于等于5的元素设置为“非数NaN”
时间: 2023-05-22 14:01:16 浏览: 107
1. 首先创建一个5阶魔方数组A:
```python
A = [[[0 for k in range(5)] for j in range(5)] for i in range(5)]
```
2. 将数组A中单下标序号7,8,9,10转换为全下标序号:
```python
A[1][2][2] = 7
A[1][2][3] = 8
A[2][2][2] = 9
A[2][2][3] = 10
```
3. 获取A的4行3列元素:
```python
A[3][0:5][2]
```
4. 获取A的第12个元素:
```python
A[1][1][1]
```
5. 获取位于“2,4行和3,5列交叉位置上的子数组”:
```python
[[A[i][3][j] for j in range(2, 5)] for i in range(1, 3)]
```
6. 访问第3,8,18号元素,输出结果分别为行数组、列数组:
```python
# 第3号元素
A[0][1] # 行数组
[A[i][1][1] for i in range(5)] # 列数组
# 第8号元素
A[1][1] # 行数组
[A[i][1][1] for i in range(5)] # 列数组
# 第18号元素
A[3][2] # 行数组
[A[3][i][2] for i in range(5)] # 列数组
```
7. 把2,4行和3,5列交叉位置上的子数组元素置为1,生成的新数组记为B:
```python
B = A.copy()
for i in range(1, 3):
for j in range(2, 5):
B[i][3][j] = 1
B[3][i][j] = 1
```
8. 把B中小于等于5的元素设置为“非数NaN”:
```python
import numpy as np
B = np.array(B)
B[B <= 5] = np.nan
```
阅读全文