使用前缀树实现的python字典和集合

prefixtree的Python项目详细描述


这个包提供PrefixDict,一个类似字典的对象,以及 PrefixSet,类似于set的对象,使用prefix trees实现,或尝试。当 与内置的dict和set对象相比。

  • 按顺序返回密钥。
  • 用于获取、设置和删除值的切片操作。

当对键和值的有序访问是 要求。

用法

PrefixDictPrefixSet的行为类似于内置的dict和set对象。 它们是MutableMappingMutableSetabstract base classes的实现。它们还支持与内置函数相同的构造函数。

>>> from prefixtree import PrefixDict
>>> pd = PrefixDict(a=0, b=1)
>>> pd['c'] = 2
>>> 'a' in pd
True
>>> 'd' in pd
False

prefixtree集合与 内置项是PrefixDictPrefixSet只支持字符串作为键。 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的源代码托管在GitHub上。任何错误报告或 可以使用github的issues system发出功能请求。

build_status

进一步阅读

prefixtree的完整文档由Read The Docs托管。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Jetty是否有请求缓存?   数组中的java 2值与我的数据帧中的2列对应   对象序列化期间的java DbUtils类型转换问题   java根面板中不显示所有单独的面板   java通过代理或SSH隧道连接Hbase API   java困惑:与经典MVC控制器相比,JSF2中bean的角色   java在我的Triangle类中“找不到符号错误”   java在Android中设置从路径到自定义按钮的图像   java不绕轨道旋转椭圆   AES在socket上搞砸了序列化/反序列化。无效的流标头。JAVA   java在数组中搜索term和if语句   线程“main”java中出现异常。util。正则表达式。PatternSyntaxException:在索引0附近悬挂元字符“*”*   Websphere上的java Google反射无法打开url连接   java为什么inc/dec频道什么都不做?   java KeyListener无法访问keyPressed方法