【Python】python使用Counter()统计列表中字符出现的频率(次数)

本文介绍了如何使用Python的collections模块统计文件中字符出现的频率,通过逐行和逐字处理,展示了如何创建列表并利用Counter类进行计数。案例详细,适合初学者理解字符频率统计在实际项目中的应用。
摘要由CSDN通过智能技术生成

问题

案例:统计字母出现的频率

文件对象有iter、next方法,所以它是一个可迭代对象,可以用for循环遍历。我们可以遍历文件获得每一行字符,再遍历每一行,获得每个字符,将字符放入列表,然后统计每个字符出现的频率。

以统计文件中字符的频率为例,可以通用到其他应用中去。

解决代码

from collections import Counter
my_list = []
punctuation=',.!?\,。!?、()【】<>《》=:+-*“”...\n'
with open('bacon.txt','r') as f:
    for line in f:
        for word in line:
            if word not in punctuation:
                my_list.append(word)

counter = Counter(my_list)
print(counter)

输出案例:

Counter({'H': 1,
         'e': 4,
         'l': 4,
         'o': 4,
         ' ': 5,
         'w': 1,
         'r': 1,
         'd': 1,
         'B': 1,
         'a': 3,
         'c': 1,
         'n': 2,
         'i': 1,
         's': 1,
         't': 2,
         'v': 1,
         'g': 1,
         'b': 1})

参考文献

  1. https://github.com/datawhalechina/team-learning-program/tree/master/OfficeAutomation
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值