python求多个集合的交集(输入包含多个集合的列表求交集)

关于集合求交集,集合较少时,可以使用内置函数intersection()函数

a = {1,2,3} 
b = {2,3,4} 
c = {3,4,5}
a.intersection(b,c)  #求a,b,c的交集
python求多个集合的交集(输入包含多个集合的列表求交集)_第1张图片

但是集合较多时,一个个输入不太现实。比如我有一个包含很多集合的列表,能否通过此列表来求得所有集合的交集呢?reduce函数和lambda函数可以实行这个效果:

all_set = [{1,2,3,4},{2,3,4},{3,4,5},{1,2,3,4,5,6},{2,3,4,5,6}]
result = reduce(lambda a, b: a & b, all_set)
result

result应为{3,4}:

python求多个集合的交集(输入包含多个集合的列表求交集)_第2张图片

同理可求并集、差集。

你可能感兴趣的:(python)