十进制转换成二进制列表

a = [[1, 2, 3, 4, 5, 6]]

转换后:

z = [[ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  1.],
     [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  1.,  0.],
     [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  1.,  1.],
     [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  1.,  0.,  0.],
     [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  1.,  0.,  1.],
     [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  1.,  1.,  0.]]

代码如下:

import numpy as np
a = [[1, 2, 3, 4, 5, 6]]
z = []
for item in a[0]:
    item = bin(item)        # 转换成二进制字符串,如:'0b101'
    item = item[2:]         # 除去'0b'
    item = format(item, '0>10s')
    for i in item:
        z.append(np.float32(i))

z = np.array(z)
z = z.reshape(6, 10)

  

posted @ 2018-01-29 19:40  congyucn  阅读(1012)  评论(0编辑  收藏  举报