目前我被困在试图找到三个交集。现在这些集合是真正的列表,我转换成集合,然后试图找到交集。python中三个集合的交集?
这是我到目前为止有:
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
仍然没有给我什么我在寻找:这是一个比赛我保证在每个列表。它给了我看起来像所有套件的增加。
你的问题似乎暗示输出是一个问题,或意外。某种程度上输出与问题有关吗?你确定每个列表都有共同的元素吗? –
你的代码的第一部分应该做什么?前三个for循环似乎什么都不做。 –
好吧,我正在处理一个由多个子列表组成的主列表,每个子列表都是一个值列表。我现在正在处理的部分是将每个子列表更改为一个集合并将这些集合相交。为了测试这个程序,我确保有一个匹配。 – thephfactor