我有一个整数的数组,只存储1或0.是否有直接的函数在Python中会这样做? 假设数组为[0,1,0,1],那么它应该返回5.将0和1的数组转换为整数
0
A
回答
3
如果你已经得到了有效的一个比特串,那么你可以做:
>>> a
[0, 1, 0, 1]
>>> int(''.join(str(i) for i in a), 2)
5
>>>
3
想不出一个单一功能的,但下面是非常简单的:
In [60]: val = 0
In [61]: for digit in [0,1,0,1]:
....: val = val * 2 + digit
....:
In [62]: val
Out[62]: 5
编辑:下面的一行代码做相同的工作,如果慢一点:
In [66]: reduce(lambda x,y: 2*x+y, [0,1,0,1,1])
Out[66]: 11
1
2
sum(j<<i for i, j in enumerate(reversed([0, 1, 0, 1])))
0
如果您需要做的位操作在Python中,一定要看看这个wiki页面:
http://wiki.python.org/moin/BitManipulation
而且虽然没有内置的功能,但那里提到的库(特别是python-bitstring)应该可以帮到你。
相关问题
- 1. 将1和0的字符串转换为字节数组
- 2. 将1和0的数组转换为二进制变量
- 3. 将0和1的数组转换为base36字符串
- 4. 转换设置为numpy 0-1数组?
- 5. 如何将数组值0和255转换为相应的0和1阵列
- 6. 将整数转换为数组数组
- 7. MySQL将NULL转换为整数0
- 8. 将16位整数转换为0..100
- 9. 将整数从0到255(1字节)转换为NSDATA
- 10. 将整数数组转换为数字
- 11. 将整数转换为数组数字
- 12. 当将字符串数组转换为整数数组时,元素变为0
- 13. 将字符数组转换为整数
- 14. 将字符数组转换为整数
- 15. Javascript - 将整数转换为数组
- 16. 将整数转换为数组
- 17. 将numpy数组值转换为整数
- 18. 将字符数组转换为整数
- 19. 将EnumSet转换为整数数组
- 20. 将字符数组转换为整数
- 21. 转换0和1的一个字符串转换为字节数组
- 22. 将3 .... 0转换为0 ...... 1,Unity3d(Time.time)
- 23. 按位运算符将0转换为1并将1转换为0
- 24. MySQL将0行的SUM转换为整数0
- 25. 有没有办法将图像转换为0和1的多维数组
- 26. 将文本文件中的0和1转换为二维数组
- 27. 将字符串转换为0和1,将0和1转换为字符串的有效方法?
- 28. 将char数组转换为(负)整数;不编译,因为“阵列 - ‘0’”的行
- 29. 将整数转换为数组数组的函数C++
- 30. 如何将包含0或1的char数组转换为C中的小数?
我喜欢'reduce' +1 –