将数组arr1中所有偶数都替换成0(改变原来数组和不改变原来数组两种方式实现): arr1 = np.random.randint(0,10,size=(5,8))
时间: 2024-09-12 13:15:16 浏览: 67
C程序访问字符串有以下两种方法-经典指针和数组教程 ָ
有两种常见的方法来实现这个需求:
**1. 直接在原数组上操作(改变原数组):**
如果你允许修改原始数组 `arr1`,你可以直接遍历它并替换偶数元素为零。在Python的NumPy库中,可以这样做:
```python
import numpy as np
arr1 = np.random.randint(0, 10, size=(5, 8))
arr1[arr1 % 2 == 0] = 0
print(arr1)
```
这将把 `arr1` 中所有的偶数位置设置为0。
**2. 复制数组并操作副本(不改变原数组):**
如果你想保留原数组不变,可以先复制 `arr1` 然后再对新数组进行操作。例如:
```python
import numpy as np
arr1 = np.random.randint(0, 10, size=(5, 8))
new_arr = arr1.copy() # 复制原数组
new_arr[new_arr % 2 == 0] = 0
print("更改后的数组(不改变原数组):", new_arr)
```
这样,`new_arr` 变成了替换了偶数的数组,而 `arr1` 保持不变。
阅读全文