关于集合求交集,集合较少时,可以使用内置函数intersection()函数
a = {1,2,3}
b = {2,3,4}
c = {3,4,5}
a.intersection(b,c) #求a,b,c的交集
![](https://i-blog.csdnimg.cn/blog_migrate/06b6b08e3c44946cc2a01834174e25ad.png)
但是集合较多时,一个个输入不太现实。比如我有一个包含很多集合的列表,能否通过此列表来求得所有集合的交集呢?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}:
![](https://i-blog.csdnimg.cn/blog_migrate/2e8dce0f6664b315801d065b9bf05345.png)
同理可求并集、差集。