四级真题词频统计

def getText():
    txt = open("sj.txt", "r").read()
    txt = txt.lower()
    for ch in ",.? ——--- ________ _____________________ ,+ ;【 】 $  	%  ‘“ '':  ”。; /   …… ( ) \" 1234567890":
        txt = txt.replace(ch, " ")
        txt = "".join(i for i in txt if ord(i) < 256 )
    return txt
sjTxt = getText()
words = sjTxt.split()
counts = {}
for word in words:
    counts[word] = counts.get(word, 0)+1
items = list(counts.items())
items.sort(key=lambda x: x[1], reverse=True)
for i in range(10): #只打印前十个词频,若全部打印则改为for i in range(len(items):
    word, count = items[i]
    print("{0:<10}{1:<6}".format(word, count), end="\t")
    if i > 0 and(i+1) % 5 == 0:
        print("\n")

程序执行结果:

the       369       a         276       to        254       of        164       and       161       

in        157       is        125       b         96        c         90        d         87    

只打印前十个词频,若全部打印则将 for i in range(10): 改为for i in range(len(items):

sj.txt文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值