首页 > 解决方案 > 从列表中的列表中查找共同元素

问题描述

我有一个包含更多列表的列表(这就是它的外观https://pastebin.com/BW4B9gfa)。列表的数量不是恒定的。我需要创建另一个列表,其中仅包含主列表中所有列表中的元素。我做了这样的东西作为原型,但它不起作用:

def common_elements(list_of_lists):
    lists = list_of_lists
    common = lists[0].intersection(lists[1].intersection(lists[2].intersection(lists[3].intersection(lists[4].intersection(lists[5])))))
return common

我也看到这样的东西:

A = [1,2,3,4]
B = [2,4,7,8]
commonalities = set(A) - (set(A) - set(B))

但我不知道如何将它与更多的列表一起使用。

标签: python

解决方案


如果你有一个集合列表,你可以简单地做,只需做一个集合列表(lists = [set(list) for list in lists])。

lists[0].intersection(*lists)

推荐阅读