Python: 找到与另一个字符串最接近的字符串(从列表中)
- 论坛
- Python: 找到与另一个字符串最接近的字符串(从列表中)
19 浏览
Python: 找到与另一个字符串最接近的字符串(从列表中)
假设我有一个字符串"Hello"和一个列表words,其中包含以下元素:['hello', 'Hallo', 'hi', 'house', 'key', 'screen', 'hallo','question', 'Hallo', 'format']。如何找到与"Hello"最接近且存在于列表words中的n个单词?在这种情况下,我们将得到['hello', 'hallo', 'Hallo', 'hi', 'format'...]。因此,策略是将列表words按从最接近到最远的单词排序。我考虑了以下方法:
word = 'Hello'
for i, item in enumerate(words):
if lower(item) > lower(word):
...
但在大型列表中,这种方法非常缓慢。
更新:
difflib可以工作,但也很慢(words列表中有630000+个单词(已排序,每行一个))。因此,每次搜索最接近的单词时,检查列表需要5到7秒钟。