python 对中文文件求交集、并集、差集

本文介绍了如何在Python中对包含中文的文件进行集合操作,包括使用set模块的intersection()、union()和difference()函数,同时解决了在UTF-8编码下中文读取和显示的问题。
摘要由CSDN通过智能技术生成

核心内容:

1. set模块 intersection() ,union(), difference() 函数的使用

2. 文件格式:一行一词, uft-8

3. 解决中文以str读入后转成list /set 时再以中文形式显示的问题

 

<pre class="python" name="code">#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys
print sys.getdefaultencoding()
reload(sys)
sys.setdefaultencoding('utf-8')
print sys.getdefaultencoding()
import codecs  #文件是unicode编码时启用


info = "D:/python/project1"
f1 = codecs.open(info +"/data/*.txt",'r')
f2 = codecs.open(info +u"/data/*.txt",'r')
s1 = set(f1.readlines())
s2 = set(f2.readlines())

print '交集'
print 'ins: %s'%(s1.intersection(s2))  
print '并集'
print 'uni: %s'%(s1.union(s2))  
print '差集'
print 'dif: %s'%(s1.difference(s2).union(s2.difference(s1))) 

print '交、并、差集计算 ok'


print '\n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值