如何在 Python 中反转布尔数组的元素?
给定一个布尔数组,这里的任务是反转它的元素。布尔数组是只包含布尔值如真或假、1 或 0 的数组。
输入: A=【真、真、假】
输出: A=【假,假,真】
输入: A=[0,1,0,1]
输出: A=[1,0,1,0]
方法 1:
您可以使用简单的 if else 方法来反转数组。在下面显示的实现方法中,您只需要检查数组中每个索引的值,如果值为真,将其更改为假,否则将其更改为真。这是反转布尔数组元素的最简单方法之一。
程序:
Python 3
a1 = ((0, 1, 0, 1))
a = list(a1)
for x in range(len(a)):
if(a[x]):
a[x] = 0
else:
a[x] = 1
print(a)
输出:
[1, 0, 1, 0]
方法二:
您也可以使用 numpy 库的内置函数来反转整个数组。
语法:
np.invert(boolean[] a)
程序:
计算机编程语言
import numpy as np
a = np.array((True, True, False, True, False))
b = np.invert(a)
print(b)
输出:
[False False True False True]
方法 3:
我们还可以在计算中使用 Tilde 运算符 ( ~ )也称为按位求反运算符来求给定数组的反。它将数字 n 作为二进制数,并将所有 0 位“翻转”为 1,将 1 翻转为 0,从而获得补码二进制数。
所以在布尔数组中对于为真或 1 会得到 -2 ,对于为假或 0 会得到 -1。再次使用 if..否则我们可以将数组转换成或所需的答案。
程序:
Python 3
a1 = ((0, 1, 0, 1))
a = list(a1)
for x in range(len(a)):
# using Tilde operator(~)
a[x] = ~a[x]
print(a)
输出:
[-1, -2, -1, -2]
版权属于:月萌API www.moonapi.com,转载请注明出处