跳转到主要内容

使用Python实现的模糊查找器。

项目描述

https://img.shields.io/travis/amjith/fuzzyfinder.svg https://img.shields.io/pypi/v/fuzzyfinder.svg

使用Python实现的模糊查找器。匹配字符串列表中的部分字符串条目。工作方式类似于SublimeText和Vim的Ctrl-P插件中的模糊查找器。

https://raw.githubusercontent.com/amjith/fuzzyfinder/master/screenshots/pgcli-fuzzy.gif

快速开始

$ pip install fuzzyfinder

or

$ easy_install fuzzyfinder

用法

>>> from fuzzyfinder import fuzzyfinder

>>> suggestions = fuzzyfinder('abc', ['defabca', 'abcd', 'aagbec', 'xyz', 'qux'])
>>> list(suggestions)
['abcd', 'defabca', 'aagbec']

>>> # Use a user-defined function to obtain the string against which fuzzy matching is done
>>> collection = ['aa bbb', 'aca xyz', 'qx ala', 'xza az', 'bc aa', 'xy abca']
>>> suggestions = fuzzyfinder('aa', collection, accessor=lambda x: x.split()[1])
>>> list(suggestions)
['bc aa', 'qx ala', 'xy abca']

>>> suggestions = fuzzyfinder('aa', ['aac', 'aaa', 'aab', 'xyz', 'ada'])
>>> list(suggestions)
['aaa', 'aab', 'aac', 'ada']

>>> # Preserve original order of elements if matches have same rank
>>> suggestions = fuzzyfinder('aa', ['aac', 'aaa', 'aab', 'xyz', 'ada'], sort_results=False)
>>> list(suggestions)
['aac', 'aaa', 'aab', 'ada']

功能

  • 简单,易于理解

  • 无外部依赖,仅使用python std lib。

它是如何工作的

描述算法的博客文章: http://blog.amjith.com/fuzzyfinder-in-10-lines-of-python

类似项目

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

fuzzyfinder-2.2.0.tar.gz (13.9 kB 查看哈希值)

上传时间 源代码

构建分布

fuzzyfinder-2.2.0-py3-none-any.whl (15.0 kB 查看哈希值)

上传时间 Python 3