如何在python中使用bin()方法将列表中的所有元素转换为二进制?

2024-04-26 01:10:34 发布

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

我有一个列表numbers = ['1', '5', '10', '8'],我想把这个列表的每个元素都转换成二进制

numbers = ['1', '5', '10', '8']
newl=[]
for i in numbers:
    newl.append(bin(i))
print(newl)

我该怎么做?你知道吗


Tags: in元素列表forbin二进制printnumbers
2条回答

由于列表中包含字符串,因此必须首先将其转换为整数:

numbers = ['1', '5', '10', '8']
newl=[]
for i in numbers:
    newl.append(bin(int(i))[2:])
print(newl)  # -> ['1', '101', '1010', '1000']

或者在一行中包含列表理解:

print([bin(int(i))[2:] for i in numbers])    # -> ['1', '101', '1010', '1000']

对于int,请提供整数not string和bin前缀0b,以便在需要时使用[2:]将其删除。你知道吗

>>> list(bin(int(each))[2:] for each in  ['1', '5', '10', '8'])
['1', '101', '1010', '1000']

相关问题 更多 >