python求列表交集的方法汇总

yipeiwu_com6年前Python基础

本文实例汇总了python求列表交集的方法。分享给大家供大家参考。具体方法如下:

交集对于给定的两个集合A 和 集合B 的交集是指含有所有既属于 A 又属于 B 的元素,而没有其他元素的集合叫交集了,下面给出几个python求列表交集例子供大家参考。

方法1

遍历b1,如果某个元素同时也存在于b2中,则返回

复制代码 代码如下:
b1=[1,2,3]
b2=[2,3,4]
b3 = [val for val in b1 if val in b2]
print b3

运行结果如下
复制代码 代码如下:
[2, 3]

方法2

把列表转换为集合,利用集合操作符求出交集,然后再转换回列表类型
复制代码 代码如下:
b1=[1,2,3]
b2=[2,3,4]
b3=list(set(b1) & set(b2))
print b3

运行结果如下
复制代码 代码如下:
[2, 3]

方法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程序设计有所帮助。

相关文章

50行Python代码获取高考志愿信息的实现方法

50行Python代码获取高考志愿信息的实现方法

最近遇到个任务,需要将高考志愿信息保存成Excel表格,BOSS丢给我一个网址表格之后就让我自己干了。虽然我以前也学习过Python编写爬虫的知识,不过时间长了忘了,于是摸索了一天之后终...

python 迭代器和iter()函数详解及实例

python中迭代器和iter()函数 迭代器为类序列对象提供了一个类序列的接口。python的迭代无缝地支持序列对象,而且它还允许程序员迭代非序列类型,包括用户定义的对象。迭代器用起...

快速解决pandas.read_csv()乱码的问题

pandas.read_csv()遇到读进来乱码问题 1.设置encoding='gbk'或者encoding='utf-8'。pandas.read_csv('data.csv',en...

深入分析在Python模块顶层运行的代码引起的一个Bug

然后我们在Interactive Python prompt中测试了一下: >>> import subprocess >>> subproc...

机器学习python实战之决策树

机器学习python实战之决策树

决策树原理:从数据集中找出决定性的特征对数据集进行迭代划分,直到某个分支下的数据都属于同一类型,或者已经遍历了所有划分数据集的特征,停止决策树算法。   每次划分数据集的特征都有很多,那...