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

假设我有一个列表:

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'
点赞