这个python的小案例代码量很少,功能是实现对指定的文章内容进行词频统计的功能,并实现次数的由大到小排列。
这个案例的思路如下:
词频统计
代码如下:
# 词频统计
#打开要统计的文档
with open("我的总结.txt", encoding="utf-8") as f:
lines = f.read()
cptj = {}
#将词频统计的结果存放到一个字典中
for line in lines:
if line in cptj:
cptj[line] += 1
else:
cptj[line] = 1
#将字典转化为类表方便进行后续的处理
lcptj = list(cptj.items())
#对生成的结果进行排序,按照每个元祖下标为1的数进行排序
lcptj.sort(key=lambda x: x[1], reverse=True)
count=0
#将结果进行输出
for i in lcptj:
print(i,"\t",end='')
count+=1
#对结果输出做出美化,使其每行打印出五个元素
for j in range(int(len(lcptj)/5)+1):
if count== 5*j:
print()
else:
pass
结果如下:
('\n', 40) ('e', 32) (' ', 31) ('a', 22) ('文', 18)
("'", 18) ('件', 16) ('d', 14) ('f', 13) ('i', 12)
('s', 12) ('的', 12) ('t', 12) ('(', 11) (')', 11)
('h', 11) ('l', 10) (',', 10) ('、', 10) ('o', 9)
('.', 9) ('个', 8) ('n', 7) ('m', 7) ('w', 7)
('b', 7) ('读', 7) ('出', 7) ('写', 7) ('r', 6)
('式', 5) ('一', 5) ('模', 5) ('本', 4) ('p', 4)
('数', 4) ('c', 4) ('用', 4) ('5', 4) ('2', 4)
('4', 4) ('形', 3) ('=', 3) ('打', 3) ('开', 3)
('对', 3) ('象', 3) ('内', 3) ('如', 3) ('字', 3)
('据', 3) ('入', 3) ('y', 3) ('关', 3) ('不', 3)
('会', 3) ('。', 3) ('块', 3) ('v', 3) ('法', 3)
('1', 3) ('3', 3) ('k', 3) ('统', 3) ('能', 3)
('作', 2) ('基', 2) (',', 2) ('果', 2) ('z', 2)
('类', 2) ('型', 2) ('要', 2) ('和', 2) ('是', 2)
('符', 2) ('闭', 2) ('存', 2) (':', 2) (':', 2)
('6', 2) ('进', 2) ('制', 2) ('[', 2) (']', 2)
('习', 2) ('学', 2) ('功', 2) ('现', 2) ('频', 2)
('计', 2) ('总', 1) ('结', 1) ('7', 1) ('操', 1)
('有', 1) ('容', 1) ('过', 1) ('大', 1) ('可', 1)
('以', 1) ('循', 1) ('环', 1) ('分', 1) ('段', 1)
('即', 1) ('每', 1) ('次', 1) ('节', 1) ('讲', 1)
('致', 1) ('转', 1) ('换', 1) ('为', 1) ('其', 1)
('他', 1) ('情', 1) ('况', 1) ('串', 1) ('报', 1)
('错', 1) ('但', 1) ('泄', 1) ('露', 1) ('最', 1)
('新', 1) ('这', 1) ('里', 1) ('语', 1) ('句', 1)
('自', 1) ('动', 1) ('两', 1) ('x', 1) ('g', 1)
('输', 1) ('十', 1) ('六', 1) ('M', 1) ('D', 1)
('值', 1) ('将', 1) ('练', 1) ('二', 1) ('(', 1)
('扩', 1) ('展', 1) (')', 1) ('业', 1) ('把', 1)
('生', 1) ('信', 1) ('息', 1) ('系', 1) ('加', 1)
('账', 1) ('户', 1) ('管', 1) ('理', 1) ('保', 1)
('实', 1) ('词', 1) ('程', 1) ('序', 1) ('够', 1)
('给', 1) ('中', 1) ('各', 1) ('率', 1)