比较列表Python中的多个列表

时间:2018-10-31 15:41:36

标签: python list-comprehension

是否可以以比我所做的更简洁(又称更短)的方式比较包含未知数量且具有相等元素的列表的列表?最好是单线!

如果不清楚我要做什么,请举个例子:

a = [1, 2, 3]
b = [4, 2, 1]
c = [7, 5, 1]
d = [a, b, c]

def multiCompList(lists):
    final = [i for i in lists[0] if i in lists[1]]
    for i in range(2, len(lists)):
        final = [i for i in final if i in lists[i]]

    return final

print(multiCompList(d))

我要做的是先检查第一和第二个列表是否包含相等的元素,然后将它们放在称为final的列表中。此后,检查这些元素是否可以在之后的列表中找到,并用其余的相等元素替换最终列表。 在这种情况下,结果为:[1]。

1 个答案:

答案 0 :(得分:0)

一个班轮看起来像这样:

set.intersection(*[set(x) for x in d])
#set([1])