目前我一直在寻找三组的交集。现在这些集合实际上是列表,我正在将它们转换成集合,然后尝试找到它们的交集。
这是我目前所拥有的:
for list1 in masterlist:
list1 = thingList1
for list2 in masterlist:
list2 = thingList2
for list3 in masterlist:
list3 = thingList3
d3 = [set(thingList1), set(thingList2), set(thingList3)]
setmatches c = set.intersection(*map(set,d3))
print setmatches
我得到了
set([])
Script terminated.
我知道有一个更简单更好的方法来做到这一点,但我找不到...
编辑
好的,这就是我现在所拥有的。
setList=()
setList2=()
setList3=()
for list1 in masterlist:
setList=list1
for list2 in masterlist:
setList2=list2
for list3 in masterlist:
setList3=list3
setmatches=set(setList) & set(setList2) & set(setList3)
print setmatches
仍然没有给我我要找的东西:这是我确保在每个列表中的匹配项。它给了我看起来像是所有集合的添加。
最佳答案
我认为您只是在寻找:
set(thingList1) & set(thingList2) & set(thingList3)
& 号是 Python(以及其他一些语言)中的交集。
关于python - python中三组的交集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12789820/