Python十进制到二进制数组

Dr.*_*rew 1 python binary multidimensional-array

我的问题与这个stackoverflow帖子有关:在这里输入链接描述,其中inspectorG4dget提供了代码

def decToBin(n):
    if n==0: return ''
    else:
        return decToBin(n/2) + str(n%2)
Run Code Online (Sandbox Code Playgroud)

Alex Martelli观察到的递归是不必要的,因为可以使用明显的bin(x)[2:].如果用户需要二进制表示作为字符串,这很好.但是,我需要二进制表示作为列表或numpy ndarray.我可以看到,我的选择是a)改编这个代码或b)像这样的东西string.split(','.join(bin(10)[2:]),',').我知道字符串操作往往很昂贵,但递归也很昂贵.

鉴于我需要将整数转换为array_like的位,哪个选项(a或b)可能更有效?还有另一种更简单,更好的方法吗?

Jan*_*ila 5

您可以简单地将字符串转换为列表list().

list(bin(10)[2:])
Run Code Online (Sandbox Code Playgroud)