要在两个元组列表中查找前n个重叠项,可以使用集合(set)来提高效率。以下是一个示例代码:
def find_top_n_overlaps(list1, list2, n):
# 将两个列表转换为集合以提高查找效率
set1 = set(list1)
set2 = set(list2)
# 找到两个集合的交集
overlaps = set1.intersection(set2)
# 将交集转换为列表并按出现频率排序
overlap_list = list(overlaps)
overlap_list.sort(key=lambda x: min(list1.count(x), list2.count(x)), reverse=True)
# 返回前n个重叠项
return overlap_list[:n]
# 示例数据
list1 = [(1, 2), (3, 4), (5, 6), (7, 8)]
list2 = [(3, 4), (5, 6), (9, 10), (7, 8)]
# 查找前2个重叠项
top_n_overlaps = find_top_n_overlaps(list1, list2, 2)
print(top_n_overlaps) # 输出: [(3, 4), (5, 6)]
通过上述方法,可以高效地在两个元组列表中查找前n个重叠项。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云