我是靠谱客的博主 无心薯片,最近开发中收集的这篇文章主要介绍Python脚本统计每个字符的次数/频数(字频统计),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

使用count()计数,可统计所有可显示字符

# -*- coding:utf-8 -*-
# Author: MoChu7
alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()_+-/={}[] "#所有正常打印字符
strings = open('./text.txt').read()#读取需要统计频数的文本

result = {}
for i in alphabet:
    counts = strings.count(i)
    i = '{0}'.format(i)
    result[i] = counts

res = sorted(result.items(), key=lambda item: item[1], reverse=True)
num = 0
for data in res:
    num += 1
    print('频数第{0}: {1}'.format(num, data))

print('n---------------以下是频数从多到少的字符,按照从前到后排序---------------')
for i in res:
    flag = str(i[0])
    print(flag[0], end="")

运行结果如下例所示

频数第1: ('a', 32)
频数第2: ('g', 22)
频数第3: ('F', 22)
频数第4: ('1', 22)
频数第5: ('w', 20)
频数第6: ('e', 19)
频数第7: ('f', 13)
频数第8: ('h', 13)
频数第9: ('t', 13)
频数第10: ('u', 12)
频数第11: ('A', 12)
频数第12: ('7', 12)
频数第13: ('#', 12)
频数第14: ('4', 11)
频数第15: ('!', 11)
频数第16: ('/', 10)
频数第17: ('z', 9)
频数第18: ('S', 9)
频数第19: ('5', 9)
频数第20: ('\', 9)
频数第21: ('i', 8)
频数第22: ('6', 8)
频数第23: ('8', 8)
频数第24: ('0', 8)
频数第25: ('%', 8)
频数第26: ('b', 7)
频数第27: ('r', 7)
频数第28: ('H', 7)
频数第29: (' ', 7)
频数第30: ('p', 6)
频数第31: ('q', 6)
频数第32: ('v', 6)
频数第33: ('G', 6)
频数第34: ('Z', 6)
频数第35: ('2', 6)
频数第36: ('9', 6)
频数第37: ('-', 6)
频数第38: ('o', 5)
频数第39: ('O', 5)
频数第40: ('W', 5)
频数第41: ('$', 5)
频数第42: ('*', 5)
频数第43: ('=', 5)
频数第44: ('}', 5)
频数第45: ('[', 5)
频数第46: (']', 5)
频数第47: ('s', 4)
频数第48: ('y', 4)
频数第49: ('I', 4)
频数第50: ('R', 4)
频数第51: ('T', 4)
频数第52: ('X', 4)
频数第53: (')', 4)
频数第54: ('d', 3)
频数第55: ('k', 3)
频数第56: ('n', 3)
频数第57: ('C', 3)
频数第58: ('D', 3)
频数第59: ('E', 3)
频数第60: ('Q', 3)
频数第61: ('V', 3)
频数第62: ('@', 3)
频数第63: ('^', 3)
频数第64: ('&', 3)
频数第65: ('(', 3)
频数第66: ('_', 3)
频数第67: ('+', 3)
频数第68: ('c', 2)
频数第69: ('x', 2)
频数第70: ('B', 2)
频数第71: ('J', 2)
频数第72: ('K', 2)
频数第73: ('L', 2)
频数第74: ('U', 2)
频数第75: ('Y', 2)
频数第76: ('3', 2)
频数第77: ('{', 2)
频数第78: ('j', 1)
频数第79: ('l', 1)
频数第80: ('m', 1)
频数第81: ('P', 1)
频数第82: ('M', 0)
频数第83: ('N', 0)

---------------以下是频数从多到少的字符,按照从前到后排序---------------
agF1wefhtuA7#4!/zS5i680%brH pqvGZ29-oOW$*=}[]syIRTX)dknCDEQV@^&(_+cxBJKLUY3{jlmPMN



使用正则匹配查找计数,只能统计所有大小写字母、数字以及空格,无法统计特殊字符

# -*- coding:utf-8 -*-
# Author: MoChu7
import re

file = open('./text.txt')  # 读取文件的路径
line = file.readlines()
file.seek(0, 0)
file.close()

result = {}  # 使用字典来保存查询信息
strings = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890 "
for i in strings:
    count = 0
    for j in line:
        find_line = re.findall(i, j)  # 查找出每一行匹配的字母
        count += len(find_line)  # 把每一行的查询结果数相加
    result[i] = count  # 向字典存入每个字母的最终查询的结果
res = sorted(result.items(), key=lambda item: item[1], reverse=True)  # 对字典的value进行排序,降序,res是一个可迭代对象

num = 1
for x in res:  # 递归输出一下字典的每一个元素
    print('频数第{0}: '.format(num), x)
    num += 1

运行结果如下例所示

频数第1:  ('a', 32)
频数第2:  ('g', 22)
频数第3:  ('F', 22)
频数第4:  ('1', 22)
频数第5:  ('w', 20)
频数第6:  ('e', 19)
频数第7:  ('f', 13)
频数第8:  ('h', 13)
频数第9:  ('t', 13)
频数第10:  ('u', 12)
频数第11:  ('A', 12)
频数第12:  ('7', 12)
频数第13:  ('4', 11)
频数第14:  ('z', 9)
频数第15:  ('S', 9)
频数第16:  ('5', 9)
频数第17:  ('i', 8)
频数第18:  ('6', 8)
频数第19:  ('8', 8)
频数第20:  ('0', 8)
频数第21:  ('b', 7)
频数第22:  ('r', 7)
频数第23:  ('H', 7)
频数第24:  (' ', 7)
频数第25:  ('p', 6)
频数第26:  ('q', 6)
频数第27:  ('v', 6)
频数第28:  ('G', 6)
频数第29:  ('Z', 6)
频数第30:  ('2', 6)
频数第31:  ('9', 6)
频数第32:  ('o', 5)
频数第33:  ('O', 5)
频数第34:  ('W', 5)
频数第35:  ('s', 4)
频数第36:  ('y', 4)
频数第37:  ('I', 4)
频数第38:  ('R', 4)
频数第39:  ('T', 4)
频数第40:  ('X', 4)
频数第41:  ('d', 3)
频数第42:  ('k', 3)
频数第43:  ('n', 3)
频数第44:  ('C', 3)
频数第45:  ('D', 3)
频数第46:  ('E', 3)
频数第47:  ('Q', 3)
频数第48:  ('V', 3)
频数第49:  ('c', 2)
频数第50:  ('x', 2)
频数第51:  ('B', 2)
频数第52:  ('J', 2)
频数第53:  ('K', 2)
频数第54:  ('L', 2)
频数第55:  ('U', 2)
频数第56:  ('Y', 2)
频数第57:  ('3', 2)
频数第58:  ('j', 1)
频数第59:  ('l', 1)
频数第60:  ('m', 1)
频数第61:  ('P', 1)
频数第62:  ('M', 0)
频数第63:  ('N', 0)

最后

以上就是无心薯片为你收集整理的Python脚本统计每个字符的次数/频数(字频统计)的全部内容,希望文章能够帮你解决Python脚本统计每个字符的次数/频数(字频统计)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(71)

评论列表共有 0 条评论

立即
投稿
返回
顶部