基于c的扩展实现了快速整数位集。
intbitset的Python项目详细描述
安装
intbitset在pypi上,所以您只需要一个c编译器和pip:
pip install intbitset
文档
intbitset库提供一个集合实现来存储排序的 无符号整数32位整数(介于0和 2**31 - 1或intbitset.__maxelem__)或无限范围 通过python c中的位向量实现快速集合操作 扩展以提高速度并减少内存使用。
inbitset类模拟python内置的set类接口 使用一些附加的特定方法,例如它自己的快速转储和加载 编组函数。
>>> from intbitset import intbitset >>> x = intbitset([1,2,3]) >>> y = intbitset([3,4,5]) >>> x & y intbitset([3]) >>> x | y intbitset([1, 2, 3, 4, 5])
intbitset还支持pickle protocol、iterator protocol和can 表现得像可以切片的sequence。因为星际是 总是按顺序存储,非空集合的第一个元素也是 整数和最后一个元素也是整数 在片场。
与标准库set类相比,intbitset集 交叉、并集和差分等操作最多可达5000 对于密集整数集更快。
完整的文档可在<;http://intbitset.readthedocs.org>;或 可使用狮身人面像建造:
pip install Sphinx python setup.py build_sphinx
测试
运行测试非常简单:
python setup.py test
许可证
版权所有(c)2013、2014、2015、2016 CERN。
IntBitset是免费软件;您可以在 自由软件发布的GNU Lesser通用公共许可条款 基金会;许可证的第3版,或(由您选择)以后的任何版本 版本。
intbitset的发布是希望它能有用,但是没有 保证;甚至没有对商品的适销性或适用性的暗示保证 特殊目的。有关更多详细信息,请参阅GNU Lesser通用公共许可证。
你应该收到GNU Lesser通用公共许可证的副本 如果没有,请写信给59坦普尔的自由软件基金会。 地址:美国马萨诸塞州波士顿市330室,邮编:02111-1307。
在申请本许可证时,欧洲核子研究所不放弃特权和豁免。 因其作为政府间组织的地位而授予的权利,或 服从任何司法管辖。