Python将二进制数按位存进列表List

最近在学习算法,多次遇到0/1背包问题,而在0/1背包问题中的物品是否放入背包由0、1决定,与二进制数很相似。为了与其他列表在索引上的使用相同,我就想写一个函数将整数转化成二进制数,再将二进制数按位存入到列表中

代码如下:

# 算法采用的是移位(除2)取余的思想
# 此处不使用自带的bin()函数是因为bin()返回的是字符串
# 且bin(3) = '0b11', bin(4) = '0b100',返回的二进制数位数不同
# t是输入的int数据,n是保留的二进制位数
def bit_to_list(t, n):
    S = [0 for i in range(n)]    
    i = -1
    while t != 0:
        S[i] = t % 2
        t = t >> 1
        i -= 1
    return S

输出结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值