Python统计共同参演电影最多的演员组合

2017-04-06 董付国 Python小屋 Python小屋

问题描述和样本数据请参考昨天的文章Python读取Excel文件统计演员参演电影

下面的代码是昨天代码的继续,在获取了每个演员参演的电影之后,继续使用最后排好序的那个列表actors,然后获取共同参演电影最多的一对演员组合。

defgetActorPair(actors):

    result = []

    # 遍历演员和参演电影

    for index, actor1 in enumerate(actors[:-1]):

        for _, actor2 in enumerate(actors[index+1:]):

            # 演员组合

            actorPair = (actor1[0], actor2[0])

            # 交集,共同参演的电影

            films = actor1[1] & actor2[1]

            # 列表中每个元素是一个元组

            # 其中包含演员组合和共同参演的电影集合

            result.append((actorPair, films))

    return result


# 根据每个演员参演的电影

# 获取演员组合共同参演的电影

actorPairs = getActorPair(actors)

for item in actorPairs:

    print(item)

# 获取共同参演电影最多的演员组合

closestPair = max(actorPairs, key=lambda item:len(item[1]))

print(closestPair)



另,今天半夜火车去章丘开会,明天半夜回来,明天可能不发文章了。