python求列表交集的方法汇总

yipeiwu_com7年前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程序设计有所帮助。

相关文章

python画柱状图--不同颜色并显示数值的方法

python画柱状图--不同颜色并显示数值的方法

用python画柱状图容易,但是如何对不同柱子使用不同颜色呢?同时在柱子顶端显示精确数值? 主要用的方法为: atplotlib.pyplot.bar(left, height, wid...

利用Python画ROC曲线和AUC值计算

利用Python画ROC曲线和AUC值计算

前言 ROC(Receiver Operating Characteristic)曲线和AUC常被用来评价一个二值分类器(binary classifier)的优劣。这篇文章将先简单的介...

python黑魔法之参数传递

我们都听说,python世界里面,万物皆对象。 怎么说万物皆对象呢?最常见的: > class A: pass > a = A() 我们说a是一个对象。 那么既然是万...

python版飞机大战代码分享

利用pygame实现了简易版飞机大战。源代码如下: # -*- coding:utf-8 -*- import pygame import sys from pygame.local...

Python对切片命名的实现方法

1、需求 我们的代码已经变得无法阅读,到处都是硬编码的切片索引,我们想优化他们。 2、解决方案 代码中如果有很多硬编码的索引值,将导致可读性和维护性都不佳。 内置的slice()函数会...