Python如何将列表中的一个十进制数转换为2进制数?

请问有人知道,

img


我要如何将这个数据转化成二进制数?

#当list = 51587的时候转换成2进制数如下,当list= [51587]的时候要如何转换?
list = 51587
temp = bin(list).replace('0b','')
print(temp)

#当list = 51587的时候转换成2进制数如下,当list= [51587]的时候要如何转换?
list = [3,555,3]
l=[]
for i in list:
      temp = bin(i).replace('0b','')
      l.append(temp)
print(l)

啊这,你把它取出来转成二进制再放进去可以吗?

list[0]= bin(list[0]).replace('0b','')
print(list)

代码及运行结果:

# encoding:gbk

def ten_to_two(num):
  binary_list = []
  binary = num % 2
  divide = num
  while True:
    binary_list.append(str(binary)) #需要将里面的数字转成字符串,用于join方法解析
    divide = int(divide / 2)
    binary = divide % 2
    if binary == 0 and divide == 0:
      break
  arr = list(reversed(binary_list))  #使用 list(reversed(array)) 对列表进行反向排序
  print(num , '的二进制数为:',''.join(arr))#使用 .join将数组直接转成字符串

oldList=[51587,15,123123,222]
for i in oldList:
    ten_to_two(int(i))

img