在多个列表中查找共同值

SSS*_*SSS 4 python list

所以我有数字列表,我想找到所有列表中存在的数字。如果可能,我宁愿不使用循环。

这是一个例子

a = [1, 2, 3, 4]
b = [2, 3, 4, 5, 6]
c = [3, 4, 5, 6, 10, 12]
df['A'] = [a, b, c]
Run Code Online (Sandbox Code Playgroud)

预计输出为

[3, 4]
Run Code Online (Sandbox Code Playgroud)

我的问题是,列表的数量没有给出,也没有固定。它可以是大约 20 个不同长度的列表(例如 [a, b, c, d, e, g, ..., l])

我已经看到使用 set(a) & set(b) & set(c) 的答案,但我不确定如何在我的情况下应用它。

sha*_*678 12

您可以使用地图和设置。交叉点

>>> a = [1, 2, 3, 4]
>>> b = [2, 3, 4, 5, 6]
>>> c = [3, 4, 5, 6, 10, 12]
>>> elements_in_all = list(set.intersection(*map(set, [a, b, c])))
>>> elements_in_all
[3, 4]
Run Code Online (Sandbox Code Playgroud)