二进制numpy数组到整数列表?

发布于 2021-01-29 19:35:52

我有一个二进制数组,我想将其转换为整数列表,其中每个int是该数组的一行。

例如:

from numpy import *
a = array([[1, 1, 0, 0], [0, 1, 0, 0], [0, 1, 1, 1], [1, 1, 1, 1]])

我想转换a[12, 4, 7, 15]

关注者
0
被浏览
59
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    我曾经在这里问过类似的问题。这是我的回答,适合您的问题:

    def bool2int(x):
        y = 0
        for i,j in enumerate(x):
            y += j<<i
        return y
    
    In [20]: a
    Out[20]: 
    array([[1, 1, 0, 0],
           [0, 1, 0, 0],
           [0, 1, 1, 1],
           [1, 1, 1, 1]])
    
    In [21]: [bool2int(x[::-1]) for x in a]
    Out[21]: [12, 4, 7, 15]
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看