我有两个列表:
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:
# ....
关于Python - 比较两个集合列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18086307/