首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

文档里字符串的比较与计数,该怎么解决

2012-06-06 
文档里字符串的比较与计数如何计算一个文档里的一列有多少不同的字符串比如有一a.txt111abcdefg17132ef

文档里字符串的比较与计数
如何计算一个文档里的一列有多少不同的字符串
比如有一a.txt
111;abcdefg;17
132;efdghjra;18
113;e70a23e;16
134;e70a23e;18
115;abcdefg;19
要问第2列'abcdefg'这列,有多少个不一样的字符串。谢谢各位老师帮忙

[解决办法]

Python code
aDict = {};fd = open('test.txt')for line in fd:    x, y, z = line.split(';')    aDict[y] = 1fd.close()print aDict
[解决办法]
用正则加set

Python code
Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32Type "copyright", "credits" or "license()" for more information.>>> import re>>> s = '''111;abcdefg;17132;efdghjra;18113;e70a23e;16134;e70a23e;18115;abcdefg;19'''>>> res = r';(.*?);'>>> m = re.findall(res,s)>>> set(m)set(['e70a23e', 'efdghjra', 'abcdefg'])>>> print len(set(m))3>>>
[解决办法]
Python code
print len(set(l.split(';')[1] for l in open('a.txt'))) 

热点排行