Python Fuzzysearch:在字符串上循环并保持最相似的

Python Fuzzysearch:在字符串上循环并保持最相似的,python,list,levenshtein-distance,fuzzywuzzy,Python,List,Levenshtein Distance,Fuzzywuzzy,我的名单上有许多拼写正确的名字 L_name = ['Julia', 'John', 'James', 'Jay', 'Jordan'] 我有一个表格的结果列表,人们在表格中输入了他们的名字 L_entries = ['Julie', 'John', 'Jo', 'Jamie', 'Jamy', 'James', 'Jay', 'Jordan'] 现在我想迭代这两个列表,计算fuzz.ratio(来自fuzzyfuzzy)以确定表单中输入的名称与我知道的名称列表中的名称的接近程度。然后,我想

我的名单上有许多拼写正确的名字

L_name = ['Julia', 'John', 'James', 'Jay', 'Jordan']
我有一个表格的结果列表,人们在表格中输入了他们的名字

L_entries = ['Julie', 'John', 'Jo', 'Jamie', 'Jamy', 'James', 'Jay', 'Jordan']
现在我想迭代这两个列表,计算fuzz.ratio(来自fuzzyfuzzy)以确定表单中输入的名称与我知道的名称列表中的名称的接近程度。然后,我想在一秒钟内创建一个建议列表,列出相应的比率。它当然应该与条目具有相同的长度,并且每个条目分别以0和“”开头

L_ratio = [0] * len(L_entries)
L_suggestion = [''] * len(L_entries)
现在我确实知道,在for循环中更改列表被认为是不好的风格,而且对我也不起作用。无论如何,我都会这样做,以展示我最终希望得到的东西

for n in L_name:

    for e,r,s in zip(L_entries,L_ratio,L_suggestion):
        ratio = fuzz.ratio(n, e)

        if ratio > r:
            r = ratio
            s = n

        else:
            r = r
            s = s

所以基本上,我想对我知道的所有名字进行交互,并将它们与表单中输入的每个名字进行比较。如果名称与以前尝试过的名称更相似(即比率更高),我想将其视为(新)建议,否则我保留以前的名称。

来自difflib的import SequenceMatcher应适用,请参阅链接-它看起来很有趣,但只替换fuzzy.ratio。我的问题是for循环替换列表元素。