模糊匹配人名单

时间:2015-04-01 01:37:22

标签: python fuzzy-comparison

我试图看看两个电影之间的电影是否相同,为此,我想将Actors作为标准之一进行比较。但是,演员通常在不同页面上的列表不同。例如:

之前,我正在进行一场非常粗略的比赛:

if actors_from_site_1[0] == actors_from_site_2[0]

但是,正如您从上述案例中可以看到的,这不是一个好技术。看一部电影中的演员是否与其他电影相匹配,会有什么更好的技巧呢?

3 个答案:

答案 0 :(得分:2)

您可以检查两组演员的集合交叉点的长度。

if len(set(actors_from_site_1).intersection(set(actors_from_site_2))):

或者您可以执行以下操作:

if any(actor in actors_from_site_1 for actor in actors_from_site_2):

答案 1 :(得分:1)

如果所有列表都是逗号分隔的actor名称,请用逗号分隔它们,小写名称,然后获取交集:

actors_from_site_1 = set(actors_from_site_1.lower().split(','))
actors_from_site_2 = set(actors_from_site_2.lower().split(','))

common_actors = actors_from_site_1 & actors_from_site_2

答案 2 :(得分:1)

尝试:

similaractors = []
for actor in actors_from_site_1:
    if actor in actors_from_site_2:
        similaractors.append(actor)

然后,您有similaractors作为他们共享的所有演员的列表。调用len(similaractors)获取相似演员的数量,然后您可以print(similaractors)并使用列表执行其他所有操作。

相关问题