Skip to main content
 首页 » 编程设计

Python之比较两个集合列表

2024年08月28日37cmt

我有两个列表:

list1 = [ 
    set(['3105']), 
    set(['3106', '3107']), 
    set(['3115']), 
    set(['3122']), 
    set(['3123', '3126', '286']) 
] 

和

list2 = [ 
    set(['400']), 
    set(['3115']), 
    set(['3100']), 
    set(['3107']), 
    set(['3123', '3126']) 
] 

我如何比较这些列表的交集,因此,例如,如果 3126 在两个列表的任何集合中的某处,它将附加另一个包含 3126 的列表。我的最终目标是附加一个单独的列表,然后获取列表的长度,以便我知道列表之间有多少匹配项。

请您参考如下方法:

您必须合并所有集合;取两个列表中集合的并集,然后取这两个并集的交集:

sets_intersection = reduce(set.union, list1) & reduce(set.union, list2) 
 
if 3126 in sets_intersection: 
    # ....