二级python——文本词频统计

1. 分解并提取英文文章的单词

  • txt.lower():将字母都转换成小写,避免大小写干扰
  • txt.replace():将所有的标点符号转换成空格,提取每个单词

2. 计数

counts = {}
for word in words:
    if word in counts:
        counts[word] += 1
    else:
        counts[word] = 1

3. 排序

将字典转换成列表,再使用sort( )

items = list(counts.items())
items.sort(key=lambda x:x[1], reverse=True)

完整代码

def getText():
    txt = open("XXXX.txt", 'r').read()
    # 皮面大小写问题,先全部转化为小写
    txt.lower()
    
    # 文本中的特殊字符全部转换为空格
    characters = "'"~!,.[]{}:;\|<>#@$%^&*()_-=+`"
    for ch in characters:
        txt = txt.replace(ch, " ")
    return txt

Txt = getText()
words = Txt.split() # 按照空格分割

# -----计数-------------------------------------
counts = {}
for word in words:
    if word in counts:
        counts[word] += 1
    else:
        counts[word] = 1
        
# ------------字典转换成列表排序-------------------
items = list(counts.items())
items.sort(key=lambda x:x[1], reverse=True)
for i in range(10):
    word, count = items[i]
    print("{0:<10}{1:>5}".format(word, count))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值