在 Python 中获取布尔值的否定值

Lakshay Kapoor 2023年1月30日
  1. 在 Python 中使用 not 运算符计算否定布尔值
  2. 使用来自 operator 模块的 operator.not_() 函数来否定 Python 中的布尔值
  3. 在 Python 中使用~ 运算符来否定 NumPy 数组的布尔值
  4. 使用 NumPy 库中的 bitwise_not() 函数来否定布尔值
  5. 使用 NumPy 库中的 invert() 函数来否定 Python 中的布尔值
  6. 使用 NumPy 库中的 logical_not() 函数来否定 Python 中的布尔值
在 Python 中获取布尔值的否定值

Python 中有多种类型的内置数据类型;一种是 boolean 数据类型。boolean 数据类型是一种内置数据类型,用于定义带有关键字 TrueFalse 的表达式的真值和假值。

在 Python 中处理布尔运算符或布尔集合/数组时,有很多情况需要对布尔值取反并获得与布尔值相反的值。

本教程将演示在 Python 中否定布尔值的不同方法。

在 Python 中使用 not 运算符计算否定布尔值

Python 中的 not 运算符有助于返回给定布尔值的负值或相反值。该运算符通过将 not 运算符放置为给定布尔表达式的前缀来使用。参考下面的示例。

a = 1
print(bool(a))
print(not a)

输出:

True
False

这里使用了 bool() 函数。它返回 Python 中给定变量的布尔值,TrueFalse。数字 01 的布尔值在 Python 中默认设置为 FalseTrue

因此,在 1 上使用 not 运算符会返回 False,即 0。另外,请注意 not 运算符可用于 print 语句本身。

使用来自 operator 模块的 operator.not_() 函数来否定 Python 中的布尔值

Python 中的 operator 模块用于提供与 Python 的内在运算符相关的各种函数。

operator.not_() 函数将一个布尔值作为其参数,并返回该值的相反值。看看这里的例子。

import operator

print(operator.not_(True))

输出:

False

此函数还用于否定存储在列表或数组中的布尔值。

import operator

bool_values = [True, True, False, True, False]
negate_bool = map(operator.not_, bool_values)
print(list(negate_bool))

输出:

[False, False, True, False, True]

在上面的示例中,还使用了 map() 函数。此过程用于对定义的迭代器的所有项(例如列表、元组或字典)执行操作或应用函数。

在 Python 中使用~ 运算符来否定 NumPy 数组的布尔值

NumPy 数组是具有预定义索引值的相同类型值的列表。NumPy 数组的形状由给出数组大小的整数元组定义。

~ 运算符也称为波浪号运算符。此运算符是按位求反运算符,它将数字作为二进制数并将所有位转换为相反的值。

例如,0110。在 Python 中,1 表示 True,而 0 表示 False。因此,波浪号运算符将 True 转换为 False,反之亦然。这是一个演示此过程的示例。

import numpy as np

b = np.array([True, True, False, True, False])
b = ~b
print(b)

输出:

[False False  True False  True]

使用 NumPy 库中的 bitwise_not() 函数来否定布尔值

bitwise_not() 函数有助于将按位 NOT 操作分配给一个元素或一个元素数组。

import numpy as np

b = np.array([True, True, False, True, False])
b = np.bitwise_not(b)
print(b)

输出:

[False False  True False  True]

这里使用了 NumPy 数组,但也可以将单个布尔值存储在输入变量中。

使用 NumPy 库中的 invert() 函数来否定 Python 中的布尔值

invert() 函数有助于按位反转元素或元素数组。此函数还返回按位 NOT 运算。

例子:

import numpy as np

b = np.array([True, True, False, True, False])
b = np.invert(b)
print(b)

输出:

[False False  True False  True]

使用 NumPy 库中的 logical_not() 函数来否定 Python 中的布尔值

NumPy 库的 logical_not() 函数基本上返回元素或元素数组的 NOT 值的 True 值(逐元素)。

例子:

import numpy as np

b = np.array([True, True, False, True, False])
b = np.logical_not(b)
print(b)

输出:

[False False  True False  True]
作者: Lakshay Kapoor
Lakshay Kapoor avatar Lakshay Kapoor avatar

Lakshay Kapoor is a final year B.Tech Computer Science student at Amity University Noida. He is familiar with programming languages and their real-world applications (Python/R/C++). Deeply interested in the area of Data Sciences and Machine Learning.

LinkedIn

相关文章 - Python Boolean