for循环方式求交集

  1. #!/usr/bin/env python
  2. #coding:utf-8
  3. #取交集
  4. #定义两个序列对象,求alist与blist对象的交集元素
  5. alist = [2,9,3,4,5,6,7,8]
  6. blist = [9,2,1,10,33,2,3]
  7.  
  8. #定义一个空list对象,放最终的结果
  9. reslut = []
  10.  
  11. #遍历alist对象
  12. for x in alist:
  13.   if x in blist: #如果alist对象中有元素在blist对象里则添加到reslut对象
  14.     reslut.append(x)
  15. print reslut

2、改成函数的方式

  1. alist = [2,9,3,4,5,6,7,8]
  2. blist = [9,2,1,10,33,2,3]
  3.  
  4. def intersect(seq1,seq2):
  5. reslut = []
  6. for x in alist:
  7. if x in blist:
  8. reslut.append(x)
  9. return reslut
  10.  
  11. if __name__ == '__main__':
  12. reslut = intersect(alist,blist)
  13. print reslut

3、使用类的方式

  1. class Ops:
  2. '''定义类函数,返回两个序列的交集'''
  3. def intersect(self,seq1,seq2):
  4. reslut = []
  5. for i in seq1:
  6. if i in seq2:
  7. reslut.append(i)
  8. return reslut
  9.  
  10. if __name__ == '__main__':
  11. a_seq = [1,3,5,7,9]
  12. b_seq = [1,2,4,7,8]
  13. res = Ops()
  14. reslut = res.intersect(a_seq,b_seq)
  15. print reslut

当然用set集合的方法直接就可以搞定。

注意alist对象与blist对象取交集,不等同于blist对象与alist对象去交集的结果。

for循环求交集的更多相关文章

  1. java用最少循环求两个数组的交集、差集、并集

    import java.util.ArrayList; import java.util.Arrays; import java.util.HashSet; import java.util.List ...

  2. PHP实现 bitmap 位图排序 求交集

    2014年12月16日 17:15:09 初始化一串全为0的二进制; 现有一串无序的整数数组; 如果整数x在这个整数数组当中,就将二进制串的第x位置为1; 然后顺序读取这个二进制串,并将为1的位转换成 ...

  3. python 两个list 求交集,并集,差集

    def diff(listA,listB): #求交集的两种方式 retA = [i for i in listA if i in listB] retB = list(set(listA).inte ...

  4. java(List或Array数组)求交集、并集、差集, 泛型工具类

    业务需要求不同类型的交集.并集.差集为避免代码冗余编写工具类. 注:list 转数组需传入数组,如果将原数组传入将会改变原数组的值,同时泛型数组又不可以实例化,解决方案:Arrays.copyOf(n ...

  5. [ECNU 1624] 求交集多边形面积

    求交集多边形面积 Time Limit:1000MS Memory Limit:30000KB Total Submit:98 Accepted:42 Description 在平面上有两给定的凸多边 ...

  6. python list求交集

    方法一: a=[1,2,3] b=[1,3,4] c=list(set(a).intersection(set(b))) print c #[1,3] 这种方法是先把list转换为set,再用set求 ...

  7. javascript集合求交集

    两集合求交集 思路: 1. 每一次从B数组中取一值,然后在A数组里逐个比较,如果有相等的,则保存.该算法复杂度为 O(MN). M, N 分别为数组 A B 的长度. 2. 因为A B 都排过序,所以 ...

  8. Blob分析--粘连颗粒检测 基于距离变换的分水岭区域分割 盆地与原连通域求交集

    文章转自微信公众号:机器视觉那些事 *******************************************************************公众号:机器视觉那些事儿*** ...

  9. list1与list2求交集的方法总结!

    一.有序集合求交集的方法有 a)二重for循环法,时间复杂度O(n*n) b)拉链法,时间复杂度O(n) c)水平分桶,多线程并行 d)bitmap,大大提高运算并行度,时间复杂度O(n) e)跳表, ...

随机推荐

  1. Java classpath 如何自动添加web-content /lib下的jar包

    右键属性--Java build path--Libraries--add library--Web app libraries -- next --next -- ok

  2. Codeforces Round #248 (Div. 2) B. Kuriyama Mirai's Stones

    题目简单描述就是求数组中[l,r]区间的和 #include <iostream> #include <vector> #include <string> #inc ...

  3. ACM cigarettes

    cigarettes 时间限制:3000 ms  |  内存限制:65535 KB 难度:2   描述 Tom has many cigarettes. We hypothesized that he ...

  4. 使用AFNetworking 2.0 请求数据时出现错误 Request failed: unacceptable content-type: text/html 解决方法

    使用AFNetworking 2.0 请求数据时出现错误 Request failed: unacceptable content-type: text/html 解决方法 添加一行 manager. ...

  5. Crystal Reports 2008(水晶报表) 第一个报表

    学习Craystal Reports 2008的时候,光看说明文档,很多东西看了就忘了. 我在看文档的时候,是跟着文档上面来做的. 这样边看边做,效果还不错哈 下面就是我的第一个demo 先看看效果: ...

  6. 深入浅出 - Android系统移植与平台开发(三)- 编译并运行Android4.0模拟器

    作者:唐老师,华清远见嵌入式学院讲师. 1.   编译Android模拟器 在Ubuntu下,我们可以在源码里编译出自己的模拟器及SDK等编译工具,当然这个和在windows里下载的看起来没有什么区别 ...

  7. hbases索引技术:Lily HBase Indexer介绍

    Lily HBase Indexer 为hbase提供快速查询,他允许不写代码,快速容易的把hbase行索引到solr.Lily HBase Indexer drives HBase indexing ...

  8. DockerFile 参数详解

    Docker 指令: From --- ENV ---设置环境变量ENV App_DIR /appp Add 和 Copy 可以复制文件到容器里面 .区别 Add 可以写网络的链接地址 Add 支持解 ...

  9. webdriver中定位元素,报无法找到元素的问题

    webdriver中定位元素,报无法找到元素的问题时,需要查看以下几点: 1 用火狐的firebug插件定位元素,确保这个元素的定位正确: 2 在火狐的firebug插件的,在html页签中输入fra ...

  10. CG资源网 - Maya教程

    Maya中mentalray灯光渲染终极训练视频教程 http://www.cgtsj.com/cg/f/vx3627/index.html Maya无人机建模制作训练视频教程第一季 http://w ...