在 i 个列表中查找共同值

Find common values in i number of lists

我想做上一个问题中描述的事情,但我有 i 个列表而不是列表 a,b,c(根据用户输入设置):

如何更改此问题的代码(如下所示)以使用 i 个列表?

>>> 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]

我的问题是我不知道我提前有多少列表!需要以某种方式迭代

如果你从用户那里得到输入,尝试将它存储在列表列表中,比如

lists = [[1,2,3], [1,2]]

然后,使用该变量代替 [a, b, c],map 在内部迭代所有这些列表并将它们转换为集合。

li = [[1,2,3], [1,2]]
print(list(set.intersection(*map(set, li))))