创建一个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 16:01:10 浏览: 68
1. 首先创建一个5阶魔方数组A:
```
A = [[0 for i in range(5)] for j in range(5)]
```
2. 将数组A中单下标序号7,8,9,10转换为全下标序号:
```
A[1][2], A[1][3], A[1][4], A[2][2] = 1, 2, 3, 4
```
3. 获取A的4行3列元素:
```
row = 4
col = 3
sub_array = [[A[i][j] for j in range(col)] for i in range(row)]
```
4. 获取A的第12个元素:
```
element = A[2][2]
```
5. 获取位于“2,4行和3,5列交叉位置上的子数组”:
```
sub_array = [[A[i][j] for j in [2, 4]] for i in [1, 3]]
```
6. 访问第3,8,18号元素,输出结果分别为行数组、列数组:
```
row_index = [0, 1, 3]
col_index = [2, 2, 3]
row_array = [A[row_index[i]][col_index[i]] for i in range(len(row_index))]
col_array = [A[row_index[i]][col_index[i]] for i in range(len(col_index))]
```
7. 把2,4行和3,5列交叉位置上的子数组元素置为1,生成的新数组记为B:
```
B = A.copy()
for i in [1, 3]:
for j in [2, 4]:
B[i][j] = 1
```
8. 把B中小于等于5的元素设置为“非数NaN”:
```
import numpy as np
B = np.array(B)
B[B <= 5] = np.nan
```
阅读全文