将十六进制覆盖到 bin 并放入另一个数组 Python 3



我正在做一个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))

相关内容

最新更新