python的静态内存高效和快速trie结构。

marisa-trie的Python项目详细描述


Marisa Trie Pyversions Travis Appveyor
==========


| pyversions图像::https://img.shields.io/pypi/pyversions/marisa trie.svg
:目标:https://pypi.python.org/pypi/marisa trie

…|特拉维斯图片:https://travis ci.org/pytries/marisa trie.svg
:目标:https://travis ci.org/pytries/marisa trie

…| appveyor图片:https://ci.appveyor.com/api/projects/status/p887ad4jbdg6u7yo?svg=true
:目标:https://ci.appveyor.com/project/superbobry/marisa-trie-75wx1

python的静态内存高效trie-like结构(2.7和3.4+)
基于"marisa-trie"c++库。

标准的python dict;原始查找速度相当;trie还提供快速的高级方法,如前缀搜索。注意:

c++库发行版中包含了官方的基于swig的python绑定;这个包提供了另一种基于cython的pip可安装python绑定。_ marisa-trie:https://github.com/s-yata/marisa-trie


安装
==

::




用法
==

请参阅:ref:`tutorial<;tutorial>;`和:ref:`api<;api>;`有关详细信息。


current limitations
==使用类似文件的对象
(它们只处理真实的文件;对于类似文件的对象,酸洗效果很好);
*有``keys()``和``items()``方法,但没有``values()``方法。


许可证
==


包装代码是在MIT许可证下许可的。


bundled`marisa trie`\c++库是在
lgpl和bsd 2子句下双重许可的许可证。

更改
=


0.7.5(2018-04-10)
----


*删除``trie.save``和
``trie.load``中的冗余``deprecationwarning``消息。
*放弃对python 2.6的支持。
*使用cython 0.28.1重新生成cython包装器。


0.7.4(2017-03-27)
---------

*修复了打包问题,`` manifest.in``在``libmarisa trie`
成为子模块后没有更新。




0.7.3(2017-02-14)
---------

*添加了``binarytrie``用于存储任意字节序列,例如,ip
地址(感谢tomasz melcer);
*不推荐使用的"trie.has_keys"带有"u prefix`",可以在"`trie.iterkeys`";
*不推荐使用的"trie.read`"和"`trie.write`"中简单地实现,它们仅用于"真实"文件
,并复制了"加载"的功能``还有"保存"。请参阅第31期关于
github;
*将"libmarisa trie"更新为最新版本。是的,64位Windows支持。
*使用cython 0.25.2重建cython包装。


0.7.2(2015-04-21)
----


*包装问题已修复。


>0.7.1(2015-04-21)
----


*setup.py切换到setuptools;
*一个很小的加速;
*包装用cython 0.22重建。

>0.7(2014-12-15)
---------

*``trie1==trie2``和``trie1!=trie2``现在工作(感谢sergei lebedev);
*`` trie中的键:``已修复(感谢sergei lebedev);
*包装器用cython 0.21.1重新构建(感谢sergei lebedev);
*不再支持https://bitbucket.org/kmike/marisa-trie repo。

<0.6(2014-02-22)
----

*新的``trie``方法:````````getitem`,``get`,``items`,``iteritems`。
``trie[u'key']``现在与``trie.key'id(u'key')``相同。
*小优化对于"bytestrie.get`.
*使用cython 0.20.1重建包装器。


0.5.3(2014-02-08)
--------

*small``trie.restore_key``优化(应该可以快5-15%)

<0.5.2(2014-02-08)
----


*fix``trie.restore_key``方法-它读取的字符串长度超过了声明的字符串长度;
*使用cython 0.20重新生成包装器。

>0.5.1(2013-10-03)
----

*``具有带前缀的密钥``方法(感谢
`matt hickford<;https://github.com/matt hickford>;```ux)

<0.5(2013-05-07)
----

*`bytestrie.iterkeys`,`` bytestrie.iteritems``、
``recordtrie.iterkeys``和``recordtrie.iteritems``方法;
*使用cython 0.19重建包装;
*``值分隔符``参数,用于``bytestrie``和``recordtrie``.


0.4(2013-02-28)
----


*改进的trie构建:``weights``可选参数;
*改进的trie构建:删除不必要的输入排序;
*使用cython 0.18重建包装器;
*玛丽莎TIE C++库被更新为Svn R133。
0.3.8(2013-01-03)
-BR/> BR/> *用Cython Prime0.18重构包装;
*更新基准。
BR/> 0.3.7(2012-0921)
-B-----
BR/> *更新捆绑玛丽莎TIEE C++库(5月5日)修复更多mingw问题);
*python 3.3支持回来了。

0.3.6(2012-09-05)
----

*所有尝试的方法都更快(3x-7x)````.items()``和`.keys()``方法;
更快(最多3倍)```。前缀()``方法用于``trie``。


0.3.5(2012-08-30)
----


*已修复对recordtrie的酸洗(感谢lazarou提供的报告);
*错误消息应变得更有用。

0.3.4(2012-08-29)
----



*应该解决mingw32的问题(感谢susumu yata)。

0.3.3(2012-08-27)
----

*``.get(key,default=none)``method for``bytestrie`` and``recordtrie`;
*小的自述文件改进。

0.3.2(2012-08-26)
---------

*小的代码清理;
*``load``````read``和``mmap``方法返回'self';
*我无法在python 3.3下运行测试(通过tox),因此暂时将其从支持的版本中删除。

0.3.1(2012-08-23)
----

*``.prefixes()``支持recordtrie和bytestrie。

>0.3(2012-08-23)
----


*引入recordtrie和bytestrie;
*删除inttrie类(可能是临时的?);
*dumps/loads方法重命名为tobytes/frombytes;
*基准测试改进;
*添加了对Marisa Trie配置选项的支持。

>0.2(2012-08-19)
----


*pickling/unpickling支持;
*dumps/loads方法;
*python 3.3解决方案;
*改进的测试;
*基准测试。


0.1(2012-08-17)
----


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

推荐PyPI第三方库


热门话题
java将Map<String,String>传递给需要Map<String,Object>   java在循环中使用字符串而不是StringBuilder是否会造成内存损失?   jnlp如何更新java控制台JRE?   java更改、修改和重新打包CXFAPI源文件   JavaFXJava应用程序在Fedora上运行一段时间后关闭   使用来自不同类的方法的java   java如何通过ant脚本在linux中使用subst?   java在使用camunda modeler进行base64编码/解码时出错   获取java。netbeans、weblogic和fastswap设置为true时的lang.NoSuchMethodError   java如何提高FinalizerThread在GC中收集对象的优先级   java检测具有相同根的单词   netbeans crud应用程序中的java错误