如何用python求交集
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
交集对于给定的两个集合A和集合B的交集是指含有所有既属于A又属于B的元素,而没有其他元素的集合叫交集了,下面给出几个python求列表交集例子供大家参考。
方法一
遍历b1,如果某个元素同时也存在于b2中,则返回。
代码如下:
b1=[1,2,3]
b2=[2,3,4]
b3 = [val for val in b1 if val in b2]
print b3
运行结果如下:
[2, 3]
方法二
把列表转换为集合,利用集合操作符求出交集,然后再转换回列表类型。
代码如下:
b1=[1,2,3]
b2=[2,3,4]
b3=list(set(b1) & set(b2))
print b3
运行结果如下:
[2, 3]
方法三
前面的例子中两个list都是简单的单元素列表,还有一种比较特殊的情况,就是有嵌套类型的。
代码如下:
b1=[1,2,3]
b2=[[2,4],[3,5]]
b3 = [filter(lambda x: x in b1,sublist) for sublist in b2]
print b3
运行结果如下:
[2, 3] 问题来源于python学习网