利用Python实现统计大量单词中各字母出现的次数和频率

您所在的位置:网站首页 python提取英文字母 利用Python实现统计大量单词中各字母出现的次数和频率

利用Python实现统计大量单词中各字母出现的次数和频率

2024-07-17 07:06| 来源: 网络整理| 查看: 265

首先以只读方式打开单词文件,利用列表推导式创建两个列表 列表sta记录各单词出现的次数,列表freq记录各单词出现的频率

f = open('5500词.txt','r',encoding='utf-8') sta = [0 for i in range(26)] freq = [0 for i in range(26)]

单词格式如下所示: a [ei] art.一(个);每一(个);(同类事物中)任一个 abandon [ə’bændən] vt.离弃,丢弃;遗弃,抛弃;放弃 abdomen [æb’dəumen] n.腹,下腹(胸部到腿部的部分) abatement [ə’beitmənt] n.减(免)税,打折扣,冲销 abide [ə’baid] vi.(abode,abided)(by)遵守;坚持;vt.忍受,容忍

每行一个单词,所以我们选择按行读取文件

for i in range(5500): buf = f.readline()

然后依次统计每个字符串中的字母个数,注意大写字母也要统计(后面的字母省略)

for j in buf: if j == 'a' or j == 'A': sta[0] = sta[0] + 1 elif j == 'b' or j == 'B': sta[1] = sta[1] + 1

注意到每个单词后都有音标,所以遇到 中括号" [ "时停止计数

if j == '[': break

然后每五个一行,依次输出各个单词出现的次数,将print函数中的end参数由默认换行改成几个空格,使输出更格式化。字母利用ASCII码输出

print('5498个词汇中,各字母出现的次数分别为:\n') asc = 97 for i in range(26): if i


【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3