python - python中三组的交集?

标签 python intersection set set-intersection

目前我一直在寻找三组的交集。现在这些集合实际上是列表,我正在将它们转换成集合,然后尝试找到它们的交集。

这是我目前所拥有的:

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/

相关文章:

python - 使用 Elasticsearch Python 出现序列化错误

ios - 获取与一条线相交的所有 View IOS

python - python 中 3D 多边形的交点

python - 在 python 与 matlab 中切片矩阵

python - Django - 在模型中存储未转义的 html

unity-game-engine - Unity 交叉口蒙版

c++ - 如何使用迭代器打印一组集合中的内容?

c++ - 通过成对存储的 key 在 std::set 中查找 key

c++ - 为什么 unordered_set 不允许 vector 作为键?

python - 用于比较两个向量以进行分类的损失函数