问题描述和样本数据请参考上一篇文章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)