我正在研究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
答案 0 :(得分:4)
您可以在列表理解中使用字符串格式化程序:
['{:08b}'.format(int(n, 16)) for n in number]
这将返回:
['00000001', '00000010', '00000011']
答案 1 :(得分:1)
使用bin功能。将int转换为二进制。 [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)
答案 2 :(得分:0)
作为一种可能的方式:
hex_var = "02"
length = 8
a = bin(int(hex_var, 16))[2:]
print(str(a).zfill(length))