Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.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中列表(列表列表列表)中列表的交集_Python_Python 2.7_List_Intersection - Fatal编程技术网

python中列表(列表列表列表)中列表的交集

python中列表(列表列表列表)中列表的交集,python,python-2.7,list,intersection,Python,Python 2.7,List,Intersection,我有一个列表,如下所示: list = [[1,2,3],[2,3,4],[3,4,5],[3,5,6]] 我的意思是,我想在Python2.7中找到它们的交叉点 intersect_list = [3] 谢谢。首先,不要使用list作为变量名-它隐藏了内置类 接下来,这个就可以了 >>> a = [[1,2,3],[2,3,4],[3,4,5],[3,5,6]] >>> set.intersection(*map(set,a)) {3} 映射(set,

我有一个列表,如下所示:

list = [[1,2,3],[2,3,4],[3,4,5],[3,5,6]]
我的意思是,我想在Python2.7中找到它们的交叉点

intersect_list = [3]

谢谢。

首先,不要使用
list
作为变量名-它隐藏了内置类

接下来,这个就可以了

>>> a = [[1,2,3],[2,3,4],[3,4,5],[3,5,6]]
>>> set.intersection(*map(set,a))
{3}
映射(set,a)
只是将其转换为集合列表。然后你只需打开列表,找到交叉点


如果您确实需要结果作为列表,只需使用
list(…)

是否有任何代码?@cricket\u 007我尝试了结果和列表的每个元素之间的成对交集,但我认为这不是一种最佳方式,我应该在这里编写它吗?您可以使用
集(a[0])。交集(*a[1:])
这将避免将大多数列表转换为集合。您可以执行
set(m[0])。交叉点(*m[1:])
拒绝将所有子列表转换为
set
。解包的妙用:是的,但我更喜欢直接调用map。看起来更干净、更直观。无论哪种方式,你都需要理解解包