我是python中的新手,并且正在努力编写一个函数,该函数将Python bytearray作为参数并计算其中的一部分。
到目前为止,我已经尝试了下面提到的代码:
def cal_bit_proportion(test):
test = bytearray( 2 )
test[ 0 ] = 0b00000000
test[ 1 ] = 0b00000001
# bp = (need to calculate the proportion)
return bp # bp means bit proportion
如果有人帮助我使用python 3.4+来解决它,或者将我重定向到我可以学习它的适当来源,那真是太棒了。
答案 0 :(得分:0)
你可以这样做:
sum(bin(x).count('1') for x in test)
也就是说,将bytearray中的每个字节转换为二进制字符串表示形式,然后对这些字节进行计数,然后对所有这些计数求和。
然后你可以除以总位数:8 * len(test)
。