Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 列表中的python成对交集_Python 3.x - Fatal编程技术网

Python 3.x 列表中的python成对交集

Python 3.x 列表中的python成对交集,python-3.x,Python 3.x,有一个集合列表,我想有一个列表,第一个集合与第二个集合相交,第二个集合与第三个集合相交,依此类推。 例如: list_of_sets=[set([1,2,3,4,5]),set([1,2,3,5]),set([4,5,6]) meine_liste_len=len(list_of_sets) pairwise_intersection_list=[] for x in range(0,meine_liste_len-1): for y in range(1,meine_liste_

有一个集合列表,我想有一个列表,第一个集合与第二个集合相交,第二个集合与第三个集合相交,依此类推。 例如:

list_of_sets=[set([1,2,3,4,5]),set([1,2,3,5]),set([4,5,6])
meine_liste_len=len(list_of_sets) 
pairwise_intersection_list=[]  
for x in range(0,meine_liste_len-1):
    for y in range(1,meine_liste_len):
        pairwise_intersection_list.append(set x.intersection(set(y)))
我想要

 pairwise_intersection_list=set(([1,2,3]),([5]))
结果呢

第一个答案非常好,不需要导入模块。另一个(使用zip)是:

        pairwiseintersect_list=([i.intersection(j) for i,j inzip(list_of_sets,list_of_sets[1:]) 
您可以使用
范围(0,len(集合的列表)-1)
获取列表中除最后一个成员之外的所有成员的索引。那么两个相邻的集合就是index和index+1。将其与列表理解结合使用,您将获得

>>> list_of_sets=[set([1,2,3,4,5]),set([1,2,3,5]),set([4,5,6])]
>>> new_list = [list_of_sets[i] & list_of_sets[i+1] for i in range(0, len(list_of_sets)-1)]
>>> new_list
[{1, 2, 3, 5}, {5}]

出了什么问题?您希望最终结果是包含多个列表的单个集合?列表不是可哈希的,所以这是行不通的。考虑发布一个运行示例(或者尽可能接近)。例如,
meine\u liste\u len
不存在。如果我要发布一个解决方案,我必须弄清楚这些变量是什么,并将它们添加进去。你应该为我们做这项工作。最终的结果不会是[1,2,3,5],[5]?@tdelaney我有一个问题,它甚至不会计算出正确的东西。谢谢你!我甚至不知道在函数中可以使用“&”。