【发布时间】:2008-12-12 08:49:03
【问题描述】:
我对在 Python 中实现自动完成很感兴趣。例如,当用户键入字符串时,我想显示磁盘上名称以该字符串开头的文件子集。
在大型语料库(比如几十万个字符串)中找到匹配某些条件的字符串的有效算法是什么?比如:
matches = [s for s in allfiles if s.startswith(input)]
我希望条件灵活;例如。只要输入中的所有字母以相同的顺序出现在 s 中,它就会是匹配的,而不是严格的开头。有什么比我在这里展示的蛮力方法更好的呢?
【问题讨论】: