小编fer*_*n48的帖子

匹配两个列表中的字符串

问题是:我想定义一个函数,该函数将使用 fuzzy.ration() 在 2 个列表(大小不同)内比较字符串比率。它应该返回列表 1 中的实体,其中至少有一个与第二个的比率大于 60。

def Matching(list1, list2):
    no_matching = []
    matching = []
    for item1 in list1:    
        for item2 in list2:        
            m_score = fuzz.ratio(item1, item2)
        if m.score < 60:
            no_matching.append(item1)
        if m.score > 60:
            matching.append(item1)
    return(matching, no_matching)
Run Code Online (Sandbox Code Playgroud)

输出不是我的目标。我做错了哪一部分- 为了仅从列表 1 中获取项目(如果列表 2 中至少有一个大于 60 的匹配项)。

例如:

list1 = ["Real Madrid", "Benfica", "Lazio", "FC Milan"]
list2 = ["Madrid", "Barcelona", "Milan"]

for item1 in list1:
    for item2 in list2:
        m_score = fuzz.ratio(item1, item2) …
Run Code Online (Sandbox Code Playgroud)

python string function list

2
推荐指数
1
解决办法
1303
查看次数

标签 统计

function ×1

list ×1

python ×1

string ×1