iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python如何统计字母出现的次数
  • 181
分享到

Python如何统计字母出现的次数

2024-04-02 19:04:59 181人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

这篇文章给大家分享的是有关python如何统计字母出现的次数的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。题目:统计一个文件中每个单词出现的次数,列出出现频率最多的5个单词。前言

这篇文章给大家分享的是有关python如何统计字母出现的次数的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

题目:

统计一个文件中每个单词出现的次数,列出出现频率最多的5个单词。

前言:

这道题在实际应用场景中使用比较广泛,比如统计历年来四六级考试中出现的高频词汇,记得李笑来就利用他的编程技能出版过一本背单词的畅销书,就是根据词频来记单词,深受学生喜欢。这就是一个把编程技能用来解决实际问题的典型场景。另外,在数据分析时,那些词云效果本质上都是基于词频统计来调整字体的大小,如果你能熟练运用Python中的知识来解决问题的话,说明你真的入门Python了。

分析

本题主要考察以下几个方面的知识点:

1、如何正确读写文件

在python中读写文件可以使用内置函数open(),而 open 函数在python2 和 python3 中有一定的区别,比如 Python 中可以指定读写文件的编码格式,而 Python 则不可以,为了同时兼容2和3,我们通常会使用io模块下面的 open 函数,大家可以查文档搞清楚它们之间的区别,培养主动学习能力和查资料的习惯。

另外一点是读写文件完成之后是需要关闭文件描述符的,除了可以使用 try...except...finally的语法之后,我们还可以使用更优雅的 with … as 的语法来自动关闭文件。

2、如何对数据进行排序

sorted函数是一个使用频率很高的内置函数,它的用法也很强大,因为它可以通过指定参数 key 来进行自定义排序,也就意味着你不仅可以对数字排序、对字母排序、还可以对列表、字典、自定义的对象进行排序,你只需要要告诉 sorted 函数的排序规则是什么,比如一个people对象,我既可以根据年龄排序也可以根据身高体重来排序,所以这个函数时非常灵活的,另外,对于列表对象有自带的 sort 方法,如果能区分清楚 list.sort 与 sorted 之间区别那说明你已经能灵活运用了。

3、字典数据类型的运用

做词频统计,用字典无疑是最合适的数据类型,单词作为字典的key, 单词出现的次数作为字典的 value,很方便地就记录好了每个单词的频率,字典很像我们的电话本,每个名字关联一个电话号码。另外,字典最大的特点就是它的查询速度会非常快。理想情况下时间复杂度为O(1),我是说理想情况,如果你想深入了解字典的话,建议看看这篇文章 https://www.laurentluce.com/posts/python-dictionary-implementation/

4、正则表达式的运用

对文本、字符串处理,正则表达式简直是神器,无论是做数据爬虫还是数据清洗使用非常广泛,当然,正则表达式并不是Python特有的东西,所有编程语言都支持,我们要做的除了学习正则表达式还有他的api,只有熟悉了API我们才能运用到实际场景中去。关于正则表达式推荐一篇文章:Http://www.cnblogs.com/huxi/arcHive/2010/07/04/1771073.html ,另外我还发现有同学引入了jieba分词库,这个库在做中文分词非常有用,感兴趣的可以去了解一下。

实现

分析完之后,我们实现起来其实是非常快的。所以我们在拿到一个需求的时候,首先肯定是把需求弄清楚,想想大概可以用哪些技术来实现,随后才是动手写代码,其实我们在工作上,真正写代码的时间还不到一半。

# -*- coding:utf-8 -*-
import io
import re
class Counter:
 def init(self, path):
 """
 :param path: 文件路径
 """
 self.mapping = dict()
 with io.open(path, encoding="utf-8") as f:
  data = f.read()
  Words = [s.lower() for s in re.findall("\w+", data)]
  for word in words:
  self.mapping[word] = self.mapping.get(word, 0) + 1
 def most_common(self, n):
 assert n > 0, "n should be large than 0"
 return sorted(self.mapping.items(), key=lambda item: item[1], reverse=True)[:n]
if name == 'main':
 most_common_5 = Counter("importthis.txt").most_common(5)
 for item in most_common_5:
 print(item)

打印结果:

('is', 10)
('better', 8)
('than', 8)
('the', 6)
('to', 5)

总结

我在看大家代码的时候,很多代码依然存在有命名不规范(建议读PEP8),代码的排版混乱(阅读起来很困难,建议用PyCharm进行格式化)。还有不少代码的实现方式看起来很复杂(往往越复杂的代码Bug越多)。当然,实现方法不是唯一。

比如Python模块本身就提供了一个collections.Counter的类,它继承自dict类,就是用于做统计的,我发现有部分同学使用的就是这个类来实现的,细心的你可能发现了,我实现的这个Counter和collections下面那个Counter很像,其实这就是造轮子,造轮子可以锻炼我们的编程思维,当然在工作上有现成的东西就没必要自己造轮子了,除非你有信心做得更好。你也可以思考思考,假如Python没有提供Counter这个工具,你该怎么做。

另外,该模块还提供一个有序的字典对象 OrderedDict,使用它可以免去我们手动排序的操作。最后建议大家学习总结上面我提到的所有内容。如果你能坚持100天,相信你对Python的掌握程度是游刃有余的。

感谢各位的阅读!关于Python如何统计字母出现的次数就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: Python如何统计字母出现的次数

本文链接: https://www.lsjlt.com/news/51753.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python如何统计字母出现的次数
    这篇文章给大家分享的是有关Python如何统计字母出现的次数的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。题目:统计一个文件中每个单词出现的次数,列出出现频率最多的5个单词。前言...
    99+
    2022-10-18
  • python怎么统计数字出现的次数
    可以使用字典来统计数字出现的次数。首先,遍历数字列表,对于列表中的每个数字,判断它是否已经在字典中存在。如果不存在,则将该数字作为键...
    99+
    2023-10-12
    python
  • 如何使用python统计每个数字出现的次数
    你可以使用Python中的字典来统计每个数字出现的次数。以下是一个示例代码:```pythonnumbers = [1, 2, 3,...
    99+
    2023-09-16
    python
  • ORACLE统计字符串出现的次数
    在ORACLE数据库的使用中,有时候我们需要统计某个字符串出现的次数。 但是在11g版本前,我们需要结合translate函数可以完成,比较麻烦,例如统计“/”在字符串中出现的次数: SELECT LENGTHB(TRANSLA...
    99+
    2019-10-26
    ORACLE统计字符串出现的次数
  • python如何统计字符串每个单词出现的次数
    这篇文章主要介绍python如何统计字符串每个单词出现的次数,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!统计字符串每个单词出现的次数。def word_amount(se...
    99+
    2022-10-19
  • 怎么用Python找出文本中每个字母出现的次数
    这篇文章主要介绍“怎么用Python找出文本中每个字母出现的次数”,在日常操作中,相信很多人在怎么用Python找出文本中每个字母出现的次数问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Python找出...
    99+
    2023-06-04
  • 如何使用python统计字符在文件中出现的次数
    目录引言:一、本项目来源:二、先上传自己写的程序三、解读程序语句。四、程序运行效果五、程序中需要注意的事总结引言: 本人从小白自学python,为了测试基础学习效果,增加一定的促进,...
    99+
    2023-03-08
    python输出字符出现的次数 python统计字母出现次数 python求字符出现的次数
  • PHP怎么统计字符的出现次数
    这篇文章主要讲解了“PHP怎么统计字符的出现次数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“PHP怎么统计字符的出现次数”吧!给出一个字符串“aaabbccqqwweeab”,如何统计出每...
    99+
    2023-06-20
  • Java实现统计字符串出现的次数
    本文实例为大家分享了Java实现统计字符串出现次数的具体代码,供大家参考,具体内容如下 需求: 健盘录入一个字符串,要求统计字符串中每个字符串出现的次数。 举例:键盘录入"aabab...
    99+
    2022-11-12
  • 如何统计字符串中每个字符出现的次数
    这篇文章给大家分享的是有关如何统计字符串中每个字符出现的次数的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。统计字符串中每个字符出现的次数的方法:首先创建一个PHP示例文件;然后把出现过的字符记录在array数组中...
    99+
    2023-06-14
  • 怎么在python中统计字符串中字符出现的次数
    怎么在python中统计字符串中字符出现的次数?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面...
    99+
    2023-06-14
  • Python如何统计列表元素出现次数
    这篇文章主要介绍了Python如何统计列表元素出现次数,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. 引言在使用Python的时候,通常会出现如下场景:array&nbs...
    99+
    2023-06-14
  • python技巧 计算字符串中字母出现的
    有一个字符串 “aaddfdfdercfghfyttefsfsfewretr123trefg5624sdfcgvfdgte6435234532”,现在需要取出里面出现次数最多的字符 第一种方法-装饰器 class get_max_coun...
    99+
    2023-01-30
    字符串 字母 技巧
  • 如何用excel统计出现次数
    这篇文章主要介绍“如何用excel统计出现次数”,在日常操作中,相信很多人在如何用excel统计出现次数问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何用excel统计出现次数”的疑惑有所帮助!接下来,请跟...
    99+
    2023-07-02
  • python如何统计列表中元素出现的次数
    可以使用`collections.Counter`来统计列表中元素出现的次数。 from collections import Co...
    99+
    2023-10-25
    python
  • php如何统计数组中出现的次数
    要统计数组中元素出现的次数,可以使用`array_count_values()`函数。该函数会返回一个关联数组,其中元素是数组中的值...
    99+
    2023-09-17
    php
  • js怎么获取字符串中各个字母出现的次数
    本篇内容介绍了“js怎么获取字符串中各个字母出现的次数”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!正如标...
    99+
    2022-10-19
  • 怎么使用python统计字符在文件中出现的次数
    今天小编给大家分享一下怎么使用python统计字符在文件中出现的次数的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、本项目...
    99+
    2023-07-05
  • python怎么统计英文字母的个数
    要统计英文字母的个数,可以按照以下步骤操作:1. 定义一个字符串,包含英文字母和其他字符。2. 使用`isalpha()`方法检查字...
    99+
    2023-09-21
    python
  • Golang如何统计字符串中数字字母的数量
    今天小编给大家分享一下Golang如何统计字符串中数字字母的数量的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1.需求说明记...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作