python:将ascii字符转换为 boolean 数组

标签 python arrays numpy boolean ascii

我有一个性格。我想将其 ascii 值表示为 boolean 值的 numpy 数组。 这有效,但似乎扭曲。有更好的办法吗?

bin_str = bin(ord(mychar))
bool_array = array([int(x)>0 for x in list(bin_str[2:])], dtype=bool)

对于

mychar = 'd'

bool_array 所需的结果值为

array([ True,  True, False, False,  True, False, False], dtype=bool)

最佳答案

您可以使用 np.unpackbits 直接从 uint8 数组中提取位。 :

np.unpackbits(np.array(ord(mychar), dtype=np.uint8))

编辑:仅获取 boolean 数组中的 7 个相关位:

np.unpackbits(np.array(ord(mychar), dtype=np.uint8)).astype(bool)[1:]

关于python:将ascii字符转换为 boolean 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17744248/

相关文章:

python - 无法回滚带有 MySQL 非事务性更改表的 Django

python - 替换数据框中的重复值

php - 检查数组中的所有值是否都是 int

python - 将按钮放入 python tkinter 中的框架中

Python Selenium is_displayed() 返回 true 并且仍然引发 ElementNotVisible 异常?

c - 在 C 中将 2 维数组作为函数参数传递时出错

javascript - WebGL - 顶点着色器调用的变量数组大小

python - 没有名为 'numpy' : Visual Studio Code 的模块

python - 有没有办法让这段代码更通用、更优雅?

python - Numpy:检查数组中所有元素是否具有相同符号的最快方法?