在Python長串,什麼是執行通常的二進制運算(&
,|
,^
)與其他這樣的數據結構的n
位(其中n
爲約10000),在其最佳的數據結構是快速?數據結構來操作位
Q
數據結構來操作位
3
A
回答
5
「快」永遠是相對的:)
的BitVector包似乎做你所需要的。儘管如此,我還是沒有經驗。
還有一個BitString的實現。也許你會做一些測量來發現哪一個更適合你的特定需求?
如果你不想要一個特定的類而不需要諸如切片或位計數之類的東西,那麼你可以簡單地使用python的long
這些值爲任意長度的整數。這可能是最高性能的實現。
This qestion似乎是相似的,雖然作者需要更少的位,並需要一個標準的庫。
2
除了MartinStettner提到的那些,還有bitarray模塊,我已經在多次使用中使用了這個模塊,結果很好。
PS:我的第100個答案,wohooo!
相關問題
- 1. Python數據結構操作
- 2. 此操作的最佳數據結構
- 3. 集合操作的數據結構
- 4. 多鍵操作數據結構
- 5. 堆棧數據結構操作
- 6. 結構引用操作(操作符 - >)
- 7. 使用結構來操縱數據庫連接
- 8. ==操作符與結構
- 9. ASP.NET MVC,操作URL結構
- 10. 結構指針操作
- 11. 結構元素操作(matlab)
- 12. [數據結構]:選擇一個數據結構來構建一個圖表
- 13. 大型數據結構操作/處理中的內存使用
- 14. C++仍然按值排序的數據結構&操作FIFO
- 15. deleteMin和按鍵操作搜索的有效數據結構
- 16. 遍歷JSON樹並操作其數據/結構
- 17. 關於JSON結構化數據的操作
- 18. 對R數據結構的操作效率
- 19. 這個操作的數據結構是什麼?
- 20. 通過jQuery在樹結構上操作數據
- 21. 安卓類操作數據庫的結構
- 22. 位置分級數據結構
- 23. 在數據結構中分配座位
- 24. 最佳的數據結構來存儲大量的一位數據
- 25. 數據結構來保存,後來合併稀疏數據
- 26. 位操作和字符串消息結構與xslt
- 27. 數據結構來跟蹤「消費」
- 28. 數據結構來實現連接
- 29. 學習數據結構的來源
- 30. 操作來自商店的數據
可能會比我的建議更高性能,因爲它在C. OTOH中實現,您可能會遇到一些安裝問題,因爲它需要一個可用的C編譯器。請參閱http://stackoverflow.com/questions/780127/installing-bitarray-in-python-2-6-on-windows尋找可能的解決方案:) – MartinStettner 2012-02-22 14:24:58