将数组np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])中的所有偶数替换为-1,而不改变原数组
时间: 2023-08-23 08:06:57 浏览: 862
排序(不改变原数组)
3星 · 编辑精心推荐
可以使用 numpy 的 `where` 函数来实现这个操作,具体的代码如下所示:
```python
import numpy as np
arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
new_arr = np.where(arr % 2 == 0, -1, arr)
print(new_arr)
```
输出结果为:
```
[-1 1 -1 3 -1 5 -1 7 -1 9]
```
其中,`arr % 2 == 0` 用来判断 `arr` 数组中的元素是否为偶数,返回一个布尔数组,然后使用 `where` 函数将符合条件的元素替换为 -1,不符合条件的元素保持不变。注意,这里通过 `new_arr = np.where(...)` 将替换后的新数组保存到 `new_arr` 中,保持原数组 `arr` 不变。
阅读全文