我有4个列表:
l1 = ['one', 'two', 'three']
l2 = ['one', 'six', 'three']
l3 = ['one', 'four', 'five']
l4 = ['one', 'three','five']
为了找到所有四个列表的公共交集,我要做:
inter = set(l1).intersection(l2).intersection(l3).intersection(l4)
:返回:{'one'}
如何使用列表中的n个列表来达到相同的目的?
list_of_lists = [l1, l2, l3, l4]
谢谢。
答案 0 :(得分:1)
使用一组列表:
check_list = list(set(l) for l in (l2, l3, l4))
然后循环:
result = set(l1)
for s in check_list:
result = result.intersection(s)
print(result)
其他选择是使用reduce
:
check_list = list(set(l) for l in (l1, l2, l3, l4))
from functools import reduce
result = reduce(set.intersection, check_list)
这里有{{3}}