perl用grep map求交集、并集、补集的实例代码
#!/usr/bin/perl
#
# 用grep map 获取两个列表的交集并集、补集
#
use strict;
my @a=("a","b","c","d","e");
my @b=("b","g","f","e");
print "列表a数据: @a \n";
print "列表b数据: @b \n";
my %a = map{$_ => 1} @a;
my %b = map{$_ => 1} @b;
my @c = map{$_ => 1} @a; # => 操作符起到了hash赋值的作用
# @a @b 交集
my @inter = grep {$a{$_}} @b; # 求交集
print "交集:@inter \n";
# @a,@b 并集
my %merge = map {$_ => 1} @a,@b; # 求并集
my @merge = keys (%merge);
print "并集:@merge \n";
# @a,@b的补集@ca,@cb,即@a和@b相对于@merge的补集
my @ca = grep {!$a{$_}} @merge;
my @cb = grep {!$b{$_}} @merge;
print "\@a的补集:@ca \n";
print "\@b的补集:@cb \n";
相关推荐
-
perl用grep map求交集、并集、补集的实例代码
复制代码 代码如下: #!/usr/bin/perl## 用grep map 获取两个列表的交集并集.补集#use strict;my @a=("a","b","c","d","e");my @b=("b","g","f","e");print "列表a数据: @a \n";print "列表b数据
-
将List集合中的map对象转为List<对象>形式实例代码
本文实例主要实现将List集合中的map对象转为List<对象>形式,下面是完整代码: import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import org.apache.commons.beanutils.ConvertUtils; import org.apache.commons.bea
-
js取两个数组的交集|差集|并集|补集|去重示例代码
复制代码 代码如下: /** * each是一个集合迭代函数,它接受一个函数作为参数和一组可选的参数 * 这个迭代函数依次将集合的每一个元素和可选参数用函数进行计算,并将计算得的结果集返回 {%example <script> var a = [1,2,3,4].each(function(x){return x > 2 ? x : null}); var b = [1,2,3,4].each(function(x){return x < 0 ? x : null}); alert
-
pandas DataFrame 交集并集补集的实现
1.场景,对于colums都相同的dataframe做过滤的时候 例如: df1 = DataFrame([['a', 10, '男'], ['b', 11, '男'], ['c', 11, '女'], ['a', 10, '女'], ['c', 11, '男']], columns=['name', 'age', 'sex']) df2 = DataFrame([['a', 10, '男'], ['b', 11, '女']], columns=['name', 'age', 'sex']) 取
-
PHP实现对数组简单求交集,差集,并集功能示例
本文实例讲述了PHP实现对数组简单求交集,差集,并集功能.分享给大家供大家参考,具体如下: <?php $arr1 = array( '0' => 'zero', '1' => 'one', '2' => 'two', '3' => 'three' ); $arr2 = array( '2' => 'two', 'three' => 'three', '4' => 'four', '5' => 'five' ); //差集[对比返回在 arr1 中但是
-
Python实现两个list求交集,并集,差集的方法示例
本文实例讲述了Python实现两个list求交集,并集,差集的方法.分享给大家供大家参考,具体如下: 在python中,数组可以用list来表示.如果有两个数组,分别要求交集,并集与差集,怎么实现比较方便呢? 当然最容易想到的是对两个数组做循环,即写两个for循环来实现.这种写法大部分同学应该都会,而且也没有太多的技术含量,本博主就不解释了.这里给大家使用更为装bility的一些方法. 老规矩,talk is cheap,show me the code #!/usr/bin/env pytho
-
Java两个List<T> 求交集,差集,并集,去重后的并集
目录 操作的List<T>声明 求交集 retainAll() 求差集 removeAll() 求并集 addAll() 求去重后的并集 操作的List<T>声明 oldList List<String> oldList = new ArrayList<>(); oldList.add("a"); oldList.add("b"); oldList.add("c"); System.out.prin
-
对dataframe数据之间求补集的实例详解
python的pandas库,对于dataframe数据,有merge命令可以完成dataframe数据之间的求取交集并集等命令. 若存在df1与df2 ,他们的交集df3=pd.merge(df1,df2,on=[.....]).但是又想通过df3求df3与df1的补集时发现没有该命令. 求df3(子集)与df1补集: #x为子集 def Complement(x,y): import numpy as np array1 = np.array(x) list1=array1.tolist()
-
JS实现集合的交集、补集、差集、去重运算示例【ES5与ES6写法】
本文实例讲述了JS实现集合的交集.补集.差集.去重运算.分享给大家供大家参考,具体如下: ES5写法: ///集合取交集 Array.intersect = function () { var result = new Array(); var obj = {}; for (var i = 0; i < arguments.length; i++) { for (var j = 0; j < arguments[i].length; j++) { var str = arguments[i][
-
JavaScript数据分析之交集,并集,对称差集
目录 列表交集 列表并集 列表对称差集 数据结构是待处理问题的数学模型,算法则是处理问题的策略. 作为软件工程师除了要对现实问题有很好的理解与把控外,还要深谙数据结构与算法才能找到合适的数学模型和算法,从而服务于后续的工作.由此数据结构与算法的重要性可见一斑. 列表交集 代码注释: /** * @description 两个列表的交集 * @param {Array} a 列表源数据 * @param {Array} b 列表源数据 * @return {Array} 目标数据 * @examp
随机推荐
- VB6实现连接Access数据库的ADODB代码实现方法
- AngularJS 实现弹性盒子布局的方法
- JS实现网页百叶窗效果
- OpenStack Keystone的基本概念详细介绍
- 让alert不出现弹窗的两种方法
- 解析PHP实现多进程并行执行脚本
- javascript高级编程之函数表达式 递归和闭包函数
- 127.0.0.1无法访问,没有权限: GetObject
- 被动式统计网站在线人数
- 通过客户端验证上传图片文件大小的ASP源码
- 使用php判断服务器是否支持Gzip压缩功能
- Java Ehcache缓存框架入门级使用实例
- 什么是WebsitePanel(基于windows虚拟主机管理系统)
- JQuery对表格进行操作的常用技巧总结
- JavaScript提高性能知识点汇总
- 解析JavaScript中delete操作符不能删除的对象
- Struts 2 数据校验功能及校验问题的解决方案
- Android实现界面内嵌多种卡片视图(ViewPager、RadioGroup)
- js经验分享 JavaScript反调试技巧
- 在VMware中Nat方式设置静态IP的方法