我有一個整數的數組,只存儲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 –