用于操作长串位的数据结构

时间:2012-02-22 12:11:06

标签: python bit-manipulation bitvector

在Python中,执行常规二进制操作(nn的{​​{1}}位(其中&大约为10000)的最佳数据结构是什么?其他此类数据结构的| fast

2 个答案:

答案 0 :(得分:5)

“快”总是相对的:)

BitVector包似乎可以满足您的需求。虽然我没有关于表现的经验。

还有BitString实施。也许你做了一些测量来找出,哪一个更符合你的特定需求?

如果你不想要一个特定的类,并且不需要像切片或位计数这样的东西,你可能只需使用python的long值,它们是任意长度的整数。这可能是性能最高的实现。

This qestion似乎是相似的,尽管作者需要更少的位并需要标准库。

答案 1 :(得分:2)

除了MartinStettner提到的那些,还有bitarray模块,我已经在多个场景中使用了这个模块,效果很好。

PS:我的第100个回答,wohooo!