Python获取两个文件的交集、并集、差集

题记:朋友在处理数据时,需要解决这方面的问题,所以利用她给的代码,自己重新梳理了下,并成功运行。

代码如下:

# coding:utf-8
s1 = set(open(r‘C:\\Users\\yangwj\\Desktop\\2\\1.txt‘).readlines())
s2 = set(open(r‘C:\\Users\\yangwj\\Desktop\\2\\2.txt‘).readlines())
ff = open(‘C:\\Users\\yangwj\\Desktop\\2\\12.txt‘,‘w‘) #没有文件,自动创建21.txt文件

all_union = list(set(s1).union(set(s2)))#并集
#all_intersection = list(set(s1).intersection(set(s2)))  #交集
#all_difference = list(set(s1).difference(set(s2)))  #差集
for a in all_union:#如果a中有些包含换行符有些不包含换行符,所以做如下操作。
    if("\n" not in a):
        a=a+"\n"
    ff.write(a)
ff.close()
    

如果有问题,欢迎留言,一起学习,一起解决问题!

原文地址:https://www.cnblogs.com/ywjfx/p/10113445.html

时间: 2024-11-08 21:25:34

Python获取两个文件的交集、并集、差集的相关文章

mysql获取两个集合的交集和差集

mysql中获取两个集合的交集,我的方法如下: 1.两个集合的结构要一致,对应的字段数,字段类型 2.将两个集合用 UNION ALL 关键字合并,这里的结果是有重复的所有集 3.将上面的所有集 GROUP BY id 4.最后 HAVING COUNT(id)=1,等于1的意思是只出现了一次,所以这个是差集,如果等于2,那么就是交集 这是实现的基本原理,具体如下: 1 -- 下面的sql有明显的问题,不过这个只是一个示意,从一个表中查询不需要用到交集和差集,条件可以合并在一起直接查询出来的.能

C# 取两个集合的交集\并集\差集

交集:Intersect 并集:Union 差集:Except var A= new List() { 1, 2, 3, 4, 5, 6 }; var B= new List() { 3, 4, 5, 6,7,8,9 }; var C= A.Intersect(B); //交集 { 3, 4, 5, 6 } var D= A.Union(B); //并集 { 1, 2, 3, 4, 5, 6,7,8,9 } var E= A.Except(B); //差集 { 1, 2 } var F= B.E

Linux 两个文件求交集、并集、差集

一.交集 sort a.txt b.txt | uniq -d 二.并集 sort a.txt b.txt | uniq 三.差集 a.txt-b.txt: sort a.txt b.txt b.txt | uniq -u b.txt - a.txt: sort b.txt a.txt a.txt | uniq -u 四.相关的解释 使用sort可以将文件进行排序,可以使用sort后面的玲玲,例如 -n 按照数字格式排序,例如 -i 忽略大小写,例如使用-r 为逆序输出等 uniq为删除文件中重

Python 求两个文本文件以行为单位的交集 并集 差集

Python 求两个文本文件以行为单位的交集 并集 差集,来代码: s1 = set(open('a.txt','r').readlines()) s2 = set(open('b.txt','r').readlines()) print 'ins: %s'%(s1.intersection(s2)) print 'uni: %s'%(s1.union(s2)) print 'dif: %s'%(s1.difference(s2).union(s2.difference(s1))) 原文地址:h

php获取两个文件的相对路径

例如:文件A 的路径是 /home/web/lib/img/cache.php 文件B的路径是 /home/web/api/img/temp/show.php 那么,文件A相对于文件B的路径是 ../../lib/img/cache.php function getRelativePath($urla,$urlb){ /*******第一步:获取两个文件的相同路径并去掉*****/ //获取路径名 $a_dirname=dirname($urla);   //$a_dirname=/home/w

Python获取两个ip之间的所有ip

int_ip = lambda x: '.'.join([str(x/(256**i)%256) for i in range(3,-1,-1)]) ip_int = lambda x:sum([256**j*int(i) for j,i in enumerate(x.split('.')[::-1])]) def get_ips(ip1,ip2): f=open('ips.txt','w') ip1_num = ip_int(ip1) ip2_num = ip_int(ip2) for i i

python获取两个dict的不同

参数: dict1, dict2 需求:如果dict1和dict2中有不同的key,那么返回这个(key, dict1[key]):如果dict1和dict2中有相同的key,但是value不同,返回这个(key, dict1[key]) 实现: def dict_different_data(first, second): """ get the different data bewtten two dicts objects return :result = first

十二道MR习题 - 3 - 交集并集差集

题目 有两个文件A和B,两个文件中都有几百万行数字,现在需要找出A文件和B文件中数字集合的交集.并集.以及A对B的差集. 简单说一下思路: 这个问题关键在于key和value的设计.这里我将文件中的数字设置为key,将文件名称设置为value.这样在reduce阶段很容易就能找出A.B两个文件中数字的交并差集了. 并集就是reduce阶段能输出的全部记录:交集则需要做下过滤,即一个记录中的value需要同时有A.B两个文件的名称:差集则是文件名称集合中只包含A或B的记录. 看下用MapReduc

C# 获取两个DataTable 的交集、并集、差集

//IEnumerable<DataRow> QOld = vDTOld.AsEnumerable().ToList();                ////比较两个数据源的交集                //IEnumerable<DataRow> QJJ = vDTOld.AsEnumerable().Intersect(DTNew.AsEnumerable(), DataRowComparer.Default);                ////两个数据源的交集