第2个回答 2010-07-25
思路:
字典类型的典型用法,使用字典类型来统计出现次数,字符串作为key,出现次数作为value。
代码如下:可以根据你的需要改,这个是把字符串的前后导空格都去掉了,空字符串不统计。
PS:又改了一下,这样效果能跟好点
# --coding:GB2312--
dic = {} #定义一个字典类型
fp = open('data.txt') #打开要查询的文件
for line in fp: #从fp中读取行,利用这种方法可以避免有空行截断读取
line = line.strip()#去掉前后导空白
if('' == line):
continue #去掉前后导空白如果是空行不作处理
if(line in dic): #判断s是否在字典内,如果在统计加1
dic[line] += 1
else: #如果不在,首次出现统计增加新key,统计数初始化为1
dic[line] = 1
fp.close() #读完文件,关闭文件
#按value排序,返回是一个元组的列表
afterSort = sorted(dic.items(), key=lambda dic: dic[1])
print afterSort #打印排序后列表,可按照自己需求提取打印
结果:
data.txt里存有
qiang
song
wan
qiang
song
qiang
执行python后打印出:
[('wan', 1), ('song', 2), ('qiang', 3)]本回答被提问者采纳