我有两个'位'列表:
Uncaught TypeError: Cannot read property 'drawThing' of undefined
at Controller.doThing (Controller.js:17)
at HTMLButtonElement.Controller.button.addEventListener (Controller.js:12)
我想要的是这两个列表的元素明智表示,例如:
a = [1, 1, 1, 1, 0, 0, 1]
b = [1, 0, 1, 1, 1, 1, 1]
最后我要将此var“c”转换为十六进制表示,例如。 h = 0x3BD7
我想到的是简单地循环元素并且将这两个列表(a& b)输入到C但是这看起来很愚蠢,特别是在python中我想知道是否还有其他“更聪明/更快”的方式这样做?
答案 0 :(得分:0)
我建议使用zip
合并两个列表,然后chain
展开该结果,最后BitArray
及其uint
方法将其解释为系列位:
from itertools import chain
from bitstring import BitArray
a = [1, 1, 1, 1, 0, 0, 1]
b = [1, 0, 1, 1, 1, 1, 1]
num = BitArray(chain(*zip(a, b))).uint
print(hex(num)) # 0x3bd7