在python中将由十进制数组成的列表转换为二进制

2024-04-25 19:19:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个十进制数的整数列表,我想把它们转换成二进制。输出必须没有0b前缀,并且必须是4位数字 比如:

lista = [1,2,3,4,5,6,7,8,9,10]
listres = [0001,0010,0011,0100,...]

提前感谢


Tags: 列表二进制数字整数listalistres
3条回答

您可以将mapformat一起使用,与'04b'一起使用:

>>> list(map(lambda x: format(x,'04b'),lista))
['0001', '0010', '0011', '0100', '0101', '0110', '0111', '1000', '1001', '1010']

这听起来像是家庭作业,所以我将给出一个建议,说明如何继续创建第二个列表。如果您知道如何将整数转换为二进制表示,则可以使用列表理解:

lista = [1,2,3,4,5,6,7,8,9,10]
listb = [integer_to_binary(n) for n in lista]

这里的integer_to_binary()只是一个将整数转换为二进制表示的函数。听起来你想要的是一个显示二进制表示的字符串,所以我把它留给你来解决(提示:尝试使用format())

实现这一目标的另一种方法是:

listres = [str(bin(x))[2:].zfill(4) for x in lista]

相关问题 更多 >