使用前缀树实现的python字典和集合
prefixtree的Python项目详细描述
这个包提供PrefixDict,一个类似字典的对象,以及 PrefixSet,类似于set的对象,使用prefix trees实现,或尝试。当 与内置的dict和set对象相比。
- 按顺序返回密钥。
- 用于获取、设置和删除值的切片操作。
当对键和值的有序访问是 要求。
用法
PrefixDict和PrefixSet的行为类似于内置的dict和set对象。
它们是MutableMapping和MutableSetabstract
base classes
的实现。它们还支持与内置函数相同的构造函数。
>>> from prefixtree import PrefixDict >>> pd = PrefixDict(a=0, b=1) >>> pd['c'] = 2 >>> 'a' in pd True >>> 'd' in pd False
prefixtree集合与 内置项是PrefixDict和PrefixSet只支持字符串作为键。 Unicode字符串将在使用前后编码为字节字符串。
与球蛋白不同,在获取、设置和 正在从prefixtree集合中删除值。
>>> list(pd['a':'c']) [0, 1, 2] >>> pd[:'b'] = [4, 3] >>> list(pd['a':'c':-1]) [2, 3, 4]
PrefixDict还有内置的dicts上不存在的其他方法。
- commonprefix(key),以查找具有当前键的最长注释前缀。
- startswith(prefix),使用匹配的前缀在当前键上迭代。
有关详细信息,请参阅Read The Docs上的完整prefixtree文档。
相容性
prefixtree的实现与python 2.x和python 3.x兼容。 它已经针对以下python实现进行了测试:
- cpython 2.6
- cpython 2.7
- cpython 3.2
- Pypy 1.9.0
连续集成测试由Travis CI提供。
进一步阅读
prefixtree的完整文档由Read The Docs托管。