python中的三个集合的交集? [英] intersection of three sets in python?

查看:105
本文介绍了python中的三个集合的交集?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

目前,我一直在努力寻找三个集合的交集.现在,这些集合实际上是我要转换为集合,然后试图找到其交集的列表.

Currently I am stuck trying to find the intersection of three sets. Now these sets are really lists that I am converting into sets, and then trying to find the intersection of.

这是我到目前为止所拥有的:

Here's what I have so far:

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.

我知道有一种更简单更好的方法,但是我找不到一个...

I know there's a much simpler and better way to do this, but I can't find one...

编辑

好的,这就是我现在所拥有的.

Okay, here's what I have now.

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

仍然没有给我我想要的东西:这是我确保在每个列表中都有的一个.它给了我看起来像所有集合的加法.

Still doesn't give me what I'm looking for: which is the one match I ensured was in each list. It's giving me what looks like an addition of all the sets.

推荐答案

我认为您只是在寻找:

set(thingList1) & set(thingList2) & set(thingList3)

&符在Python(以及其他一些语言)中是交集.

The ampersand is intersection in Python (and some other languages as well).

这篇关于python中的三个集合的交集?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆