Python求两个list的差集

   一.两个list差集

  如有下面两个数组:

  a = [1,2,3]

  b = [2,3]

  想要的结果是[1]

  下面记录一下三种实现方式:

  1. 正常的方式

 代码如下  

ret = []
for i in a:
    if i not in b:
        ret.append(i)

  2. 浓缩版

 代码如下  

ret = [ i for i in a if i not in b ]

  3. 另一版

 代码如下  

ret = list(set(a) ^ set(b))

  www.111cn.net站长个人更喜欢第三种实现方式

  二. 获取两个list 的并集

 代码如下  

print list(set(a).union(set(b)))

  三. 获取两个 list 的差集

 代码如下  

print list(set(b).difference(set(a))) # b中有而a中没有的

时间: 2024-12-27 05:56:10

Python求两个list的差集的相关文章

Python求两个list的差集 交集 并集的实例

一.两个list差集 如有下面两个数组: a = [1,2,3] b = [2,3] 想要的结果是[1] 下面记录一下三种实现方式: 1. 正常的方式  代码如下 复制代码 ret = [] for i in a:     if i not in b:         ret.append(i) 2. 浓缩版  代码如下 复制代码 ret = [ i for i in a if i not in b ] 3. 另一版  代码如下 复制代码 ret = list(set(a) ^ set(b))

vba-用VBA如何快速地求两个区域的差集

问题描述 用VBA如何快速地求两个区域的差集 比如区域R1为A1:F100,区域R2为C30:E58,如何快速地求出R1中去掉R2后的区域R3? 解决方案 Kettle中求两个记录集的差集

求两个DataTable的差集

问题描述 哪位大侠有比较好的方法可以很快的求出两个DataTable的差集啊. 解决方案 解决方案二:循环操作记录求取.解决方案三:不是很明白你说的意思能再说具体点吗?解决方案四:循环记录的方式效率太低了,如果两个表每个表都有上万的数据呢,你计算一下这个计算量是多大呀.我的意思是说有A,B两张表,假设:A表里有1,2,3,4,5这5条数据,B表里有1,2,4这三条数据,我们可以用什么方法最快的把3,5这两条数据取出来.解决方案五:这个要设一个主键,如id,确保唯一,然后用notin做筛选现在假设

python获得两个数组交集、并集、差集的方法_python

本文实例讲述了python获得两个数组交集.并集.差集的房部分.分享给大家供大家参考.具体如下: 1. 获取两个list 的交集 #方法一: a=[2,3,4,5] b=[2,5,8] tmp = [val for val in a if val in b] print tmp #[2, 5] #方法二 print list(set(a).intersection(set(b))) 2. 获取两个list 的并集 print list(set(a).union(set(b))) 3. 获取两个

输入集合A、B和全集C,求两集合的交集、并集、补集、差集

//输入集合A.B和全集C,求两集合的交集.并集.补集.差集 /* 并集:以属于A或属于B的元素为元素的集合成为A与B的并(集) 交集: 以属于A且属于B的元素为元素的集合成为A与B的交(集) 差:以属于A而不属于B的元素为元素的集合成为A与B的差(集) 补集:A的补集C-B */ /* 例如:A={1,2,3} B={2,3,4} C={1,2,3,4,5} AB并集为={1,2,3,4} 交集为={2,3} A补集={4,5} AB差集为={1} */ #include <iostream>

两集合的并集 差集

问题描述 StringA={A,B,C,D,E}StringB={C,D,F,G,I}求结果1.{A,B,E}2.{C,D}3.{F,G,I} 解决方案 解决方案二:要用java实现解决方案三:importjava.util.ArrayList;importjava.util.List;publicclassJihe{publicstaticvoidmain(String[]args){StringA="A,B,C,D,E";StringB="C,D,F,G,I";

java实现字符串匹配求两个字符串的最大公共子串_java

本文实例讲述了java实现求两个字符串最大公共子串的方法.分享给大家供大家参考,具体如下: 最近在项目工作中有一个关于文本对比的需求,经过这段时间的学习,总结了这篇博客内容:求两个字符串的最大公共子串. 算法思想:基于图计算两字符串的公共子串.具体算法思想参照下图: 输入字符串S1:achmacmh    输入字符串S2:macham 第a步,是将字符串s1,s2分别按字节拆分,构成一个二维数组: 二维数组中的值如b所示,比如第一行第一列的值表示字符串s2和s1的第一个字节是否相等,若相等就是1

python求列表交集的方法汇总_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 运行结果如下 复制代码 代码如

如何求两个数组的交集

题目意思大概是这样的:给定两个大数组(1w以上1亿以下),用最有效的方法找出来两个数组的交集. 对于这道题,我有一个思路就是,先对数组进行排序,然后用两个指针在已排序的数组上轮流指向头结点,进行比较. 比较亮的地方,就是在于这个比较的方式了. 首先,比较的时候,要先确定两个指针指向的内用是否一致.如果一致,那么这个点,就是交集的一个元素,没问题吧? 这里有一个问题就是,接下来如何比较? 步骤是这样的:先比较两个指针指向内容的大小,指向结果小的指针,开始递增,直到较小的指针指向的值大于或等于另一个