假设我有一个列表:
lst = [0, 1, 0, 0]
我如何让python将此列表解释为二进制数字0100,以便2*(0100)
给我01000
?
我能想到的唯一方法是首先创建一个将“二进制”元素转换为相应整数(以10为底)的函数,然后使用bin()函数。
有没有更好的办法?
您可以像这样使用按位运算符:
>>> lst = [0, 1, 0, 0]
>>> bin(int(''.join(map(str, lst)), 2) << 1)
'0b1000'
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句