繁体   English   中英

如何在 python 中将十进制转换为二进制与 0

[英]how to convert decimal to binary with 0 in python

所以我想将所有十进制列表转换为二进制包含0。但是我使它具有int类型并且所有的0都消失了。

输入 = [6, 7, 2, 11, 14, 15, 10, 3, 6, 7, 2, 11, 14, 15, 10, 3]

output = [110, 111, 10, 1011, 1110, 1111, 1010, 11, 110, 111, 10, 1011, 1110, 1111, 1010, 11]

有人可以修复我的代码,使其前面有 0 吗? 像 00000110 它的平均值是 6

这是我的代码:

def dec_to_bin(x):
    print(x)
    for a in range(0, len(x)):
        keluar = x[a]
        biner = int(bin(keluar)[2:])
        x[a] = biner
    return x

您需要str类型来保留零。 您可以使用格式字符串来指示数字显示为 8 位带前导零的二进制:

def dec_to_bin(x):
    return [f'{a:08b}' for a in x]

result = dec_to_bin([6, 7, 2, 11])
print(result)
print(' '.join(result))

Output:

['00000110', '00000111', '00000010', '00001011']
00000110 00000111 00000010 00001011

zfill function 将填充左侧的前导零。 您可以在参数上指定数字:

x[a] = biner.zfill(8)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM