📜  布尔玛 |列表(1)

📅  最后修改于: 2023-12-03 15:09:41.996000             🧑  作者: Mango

布尔玛 | 列表

布尔玛是一个开源的Python库,用于创建基于布尔运算的数据结构。它提供了多重布尔列表和一些基本的布尔运算函数,使得开发人员可以更轻松地处理布尔逻辑。

安装

可以使用pip安装布尔玛:

pip install boolma
使用
创建一个布尔列表

布尔列表可以在创建时指定维度和初始值。

import boolma

# 创建一个值全部为False的10x10x10布尔列表
lst = boolma.zeros((10,10,10), dtype=bool)
print(lst)

输出:

[[[False False False False False False False False False False]
  [False False False False False False False False False False]
  [False False False False False False False False False False]
  [False False False False False False False False False False]
  [False False False False False False False False False False]
  [False False False False False False False False False False]
  [False False False False False False False False False False]
  [False False False False False False False False False False]
  [False False False False False False False False False False]
  [False False False False False False False False False False]]

 [[False False False False False False False False False False]
  [False False False False False False False False False False]
  [False False False False False False False False False False]
  [False False False False False False False False False False]
  [False False False False False False False False False False]
  [False False False False False False False False False False]
  [False False False False False False False False False False]
  [False False False False False False False False False False]
  [False False False False False False False False False False]
  [False False False False False False False False False False]]

 ...

 [[False False False False False False False False False False]
  [False False False False False False False False False False]
  [False False False False False False False False False False]
  [False False False False False False False False False False]
  [False False False False False False False False False False]
  [False False False False False False False False False False]
  [False False False False False False False False False False]
  [False False False False False False False False False False]
  [False False False False False False False False False False]
  [False False False False False False False False False False]]]
基本布尔运算

布尔玛提供了一些常见的基本布尔运算函数。

import boolma

a = boolma.array([[True, False], [False, True]])
b = boolma.array([[False, True], [True, False]])

print('a:\n', a)
print('b:\n', b)
print('a AND b:\n', boolma.logical_and(a, b))
print('a OR b:\n', boolma.logical_or(a, b))
print('NOT a:\n', boolma.logical_not(a))

输出:

a:
 [[ True False]
 [False  True]]
b:
 [[False  True]
 [ True False]]
a AND b:
 [[False False]
 [False False]]
a OR b:
 [[ True  True]
 [ True  True]]
NOT a:
 [[False  True]
 [ True False]]
布尔运算符重载

布尔玛支持重载布尔运算符(&, |, ~, ^)来进行基本布尔运算。

import boolma

a = boolma.array([[True, False], [False, True]])
b = boolma.array([[False, True], [True, False]])

print('a:\n', a)
print('b:\n', b)
print('a & b:\n', a & b)
print('a | b:\n', a | b)
print('~a:\n', ~a)

输出:

a:
 [[ True False]
 [False  True]]
b:
 [[False  True]
 [ True False]]
a & b:
 [[False False]
 [False False]]
a | b:
 [[ True  True]
 [ True  True]]
~a:
 [[False  True]
 [ True False]]
布尔索引

布尔玛允许使用布尔数组作为列表的索引。

import boolma

a = boolma.array([[True, False], [False, True]])
b = boolma.array([[1, 2], [3, 4]])
c = b[a]

print('a:\n', a)
print('b:\n', b)
print('b[a]:\n', c)

输出:

a:
 [[ True False]
 [False  True]]
b:
 [[1 2]
 [3 4]]
b[a]:
 [1 4]
结论

布尔玛为处理布尔逻辑提供了一个更加高级的工具集,它让程序员可以更快速地创建和处理布尔列表。如果您经常使用布尔逻辑,请考虑使用布尔玛。