针对上面创建的三种类型的数组,完成如下操作: - 取出奇数和偶数 - 取出后五个数 - 取出大于5的数 - 取出小于5的数 - 取出大于3小于7的数 - 取出一维数组的第1、2、3、6、7个元素
时间: 2024-12-12 13:23:10 浏览: 8
针对上述创建的一维、二维和三维数组,我们可以分别进行以下操作:
1. **取出奇数和偶数**:
- 对于一维数组:
```python
arr_1d = [1, 2, 3, 4, 5]
odd = arr_1d[arr_1d % 2 != 0] # 取出奇数
even = arr_1d[arr_1d % 2 == 0] # 取出偶数
```
- 对于二维数组:
```python
arr_2d = [[1, 2, 3], [4, 5, 6]]
odd_rows = [row for row in arr_2d if any(num % 2 != 0 for num in row)] # 取出含有奇数的行
even_rows = [row for row in arr_2d if all(num % 2 == 0 for num in row)] # 取出全偶数的行
```
- 对于三维数组:
```python
arr_3d = [[[1, 2], [3, 4]], [[5, 6], [7, 8]]]
odd_slices = [slice(None) if arr[0][0] % 2 else [] for arr in arr_3d] # 取出奇数部分
```
2. **取出后五个数**:
- 无论是一维还是二维数组,只需从最后一个元素开始计数即可:
```python
last_five = arr_1d[-5:] or arr_2d[-1, -5:] or arr_3d[-1, :, -5:]
```
3. **取出大于5的数**:
```python
greater_than_5 = arr_1d[arr_1d > 5] # 适用于一维数组
greater_than_5_2d = arr_2d[arr_2d[:, :] > 5] # 适用于二维数组,逐元素比较
greater_than_5_3d = arr_3d[arr_3d[:] > 5] # 适用于三维数组,逐元素比较
```
4. **取出小于5的数**:
```python
less_than_5 = arr_1d[arr_1d < 5]
```
5. **取出大于3小于7的数**:
```python
between_3_and_7 = arr_1d[(arr_1d > 3) & (arr_1d < 7)]
```
6. **一维数组取特定位置元素**:
```python
selected_elements_1d = arr_1d[[1, 2, 3, 5, 6]]
```
请注意,以上操作可能会因数组的不同而略有调整,特别是对于二维和三维数组。
阅读全文