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

1.6 KiB
Raw Permalink Blame History

反转布尔数组的元素

原文:https://www.askpython.com/python-modules/numpy/invert-elements-of-a-boolean-array

在这篇文章中,我们将学习如何反转一个布尔数组的元素,该数组包含布尔值,如 True 或 False。

Python 中的布尔数组是什么?

布尔数组是一个有布尔值的数组,比如真或假,或者可能是 1 或 0。使用 dtype = bool 可以形成布尔数组。除了 0、无、假或空字符串之外其他都被认为是真的。

import numpy as np

arr_bool = np.array([1, 1.1, 0, None, 'a', '', True, False], dtype=bool)
print(arr_bool)

输出:

[ True  True False False  True False  True False]

反转布尔数组元素的方法

以下是在 Python 中反转布尔数组元素的方法。

使用 np.invert()函数

使用内置的 np。invert()函数可以反转一个布尔数组的元素。

import numpy as np
arr = np.array((True, True, False, True, False))
arr_inver = np.invert(arr)
print(arr_inver)

输出:

[False False  True False  True]

使用 if-else 方法

在这个方法中,我们将检查数组中每个元素的索引值。如果该值为零,它将被更改为 1反之亦然。此外如果值为 True它将被更改为 False。

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)

输出:

[1, 0, 1, 0]

结论

总之,我们学习了在 python 中反转布尔数组元素的不同方法。Numpy 是一个灵活的 python 库,并提供了多种功能。