python - 将列表的元素转换为二进制

标签 python python-3.x binary

假设我有一个列表:

lst = [0, 1, 0, 0]

如何让python将此列表解释为二进制数0100​​,以便2*(0100)给我 01000 ?

我能想到的唯一方法是首先创建一个函数,将“二进制”元素转换为相应的整数(以 10 为底),然后使用 bin() 函数。

有没有更好的办法?

最佳答案

您可以使用 bitwise operators像这样:

>>> lst = [0, 1, 0, 0]
 >>> bin(int(''.join(map(str, lst)), 2) << 1)
'0b1000'

关于python - 将列表的元素转换为二进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38935169/

相关文章:

python - 初始化/导入子模块而不污染全局命名空间

Python矢量化,如何使用numpy获取每一行的所有索引

c++ - 通过 Google Protobuf 发送二进制文件数据

binary - 如何转换二进制!到一个字符!在《叛逆2》中?

python - 为什么pystan安装这么慢?

python - 为什么我不能在 collections.MutableMapping 的子类上对 __setitem__ 进行猴子修补

python - 在 Excel 中使用 Python 和 DataNitro 转换时间

python-3.x - 图中的 Axis 隐藏了 Axis 标签?

database - 用于存储二进制数据的键/值数据库

python - 在Azure上运行Python脚本并保存到SQL数据库