在Python中,执行常规二进制操作(n
,n
的{{1}}位(其中&
大约为10000)的最佳数据结构是什么?其他此类数据结构的|
fast ?
答案 0 :(得分:5)
“快”总是相对的:)
BitVector包似乎可以满足您的需求。虽然我没有关于表现的经验。
还有BitString实施。也许你做了一些测量来找出,哪一个更符合你的特定需求?
如果你不想要一个特定的类,并且不需要像切片或位计数这样的东西,你可能只需使用python的long
值,它们是任意长度的整数。这可能是性能最高的实现。
This qestion似乎是相似的,尽管作者需要更少的位并需要标准库。
答案 1 :(得分:2)
除了MartinStettner提到的那些,还有bitarray模块,我已经在多个场景中使用了这个模块,效果很好。
PS:我的第100个回答,wohooo!