我正在做一个Python 3项目。我的代码更长,但我为您准备了一个有效的代码示例基本概念。
arr = []
arr2 = []
number = (["01", "02", "03" ])
arr = number
print(arr) # Output : ["01", "02", "03"]
问题:如何将十六进制转换为bin来将此数字转换为另一个数组?注意:我的预期输出是 arr2 :["00000001", "00000010", "00000011"]
当我print(arr2[0])
时,我想看到00000001
您可以在列表推导中使用字符串格式化程序:
['{:08b}'.format(int(n, 16)) for n in number]
这将返回:
['00000001', '00000010', '00000011']
使用 bin 函数。将整数转换为二进制。[2:] "剪切"了 B0(函数返回 etc 03 -> B011( 如果你想用 8 个零填充数字,请使用 zfill(8( 函数
number = (["01", "02", "03" ])
arr = []
for i in number:
i = int(i)
i = str(bin(i)[2:]).zfill(8)
print(i)
arr.append(str(i))
print(arr)
作为可能的方法之一:
hex_var = "02"
length = 8
a = bin(int(hex_var, 16))[2:]
print(str(a).zfill(length))