geekdoc-python-zh/docs/askpython/invert-elements-of-a-boolea...

76 lines
1.6 KiB
Markdown
Raw Permalink Normal View History

2024-10-20 12:24:46 +08:00
# 反转布尔数组的元素
> 原文:<https://www.askpython.com/python-modules/numpy/invert-elements-of-a-boolean-array>
在这篇文章中,我们将学习如何反转一个布尔数组的元素,该数组包含布尔值,如 True 或 False。
## Python 中的布尔数组是什么?
布尔数组是一个有布尔值的数组,比如真或假,或者可能是 1 或 0。使用 dtype = bool 可以形成布尔数组。除了 0、无、假或空字符串之外其他都被认为是真的。
```py
import numpy as np
arr_bool = np.array([1, 1.1, 0, None, 'a', '', True, False], dtype=bool)
print(arr_bool)
```
**输出:**
```py
[ True True False False True False True False]
```
## 反转布尔数组元素的方法
以下是在 Python 中反转布尔数组元素的方法。
### 使用 np.invert()函数
使用内置的 np。invert()函数可以反转一个布尔数组的元素。
```py
import numpy as np
arr = np.array((True, True, False, True, False))
arr_inver = np.invert(arr)
print(arr_inver)
```
**输出:**
```py
[False False True False True]
```
### 使用 if-else 方法
在这个方法中,我们将检查数组中每个元素的索引值。如果该值为零,它将被更改为 1反之亦然。此外如果值为 True它将被更改为 False。
```py
arr = ((0, 1, 0, 1))
a1 = list(arr)
for x in range(len(a1)):
if(a1[x]):
a1[x] = 0
else:
a1[x] = 1
print(a1)
```
**输出:**
```py
[1, 0, 1, 0]
```
## 结论
总之,我们学习了在 python 中反转布尔数组元素的不同方法。Numpy 是一个灵活的 python 库,并提供了多种功能。