统计字符串字符出现的次数

输入一个字符串,输出字符及相应字符出现的次数。


【学习的细节是欢悦的历程】

  • Python 官网:https://www.python.org/

  • Free:大咖免费“圣经”教程《 python 完全自学教程》,不仅仅是基础那么简单……
    地址:https://lqpybook.readthedocs.io/


  自学并不是什么神秘的东西,一个人一辈子自学的时间总是比在学校学习的时间长,没有老师的时候总是比有老师的时候多。
            —— 华罗庚


  • My CSDN主页、My HOT博、My Python 学习个人备忘录
  • 好文力荐、 老齐教室
等风来,不如追风去……


输入一个字符串
字符串统计
(输出字符及相应字符出现的次数)


本文质量分:

91
本文地址: https://blog.csdn.net/m0_57158496/article/details/130517025

CSDN质量分查询入口:http://www.csdn.net/qc


目 录

  • ◆ 字符串统计
    • 1、题目描述
    • 2、用 str.count() 方法求解
      • 2.1 基本功能函数
      • 2.2 输出格式化
      • 2.3 函数调用
    • 3、用字典记录出现次数。
    • 4、换个字符串试试
    • 5、完整源码


◆ 字符串统计


  (我曾经记下一篇学习笔记“练习:字符串统计(坑:f‘string‘报错)”,您可以点击蓝色文字跳转翻阅)



1、题目描述


  输入一个字符串,输出每个字符以及字符对应的出现次数。例如——

  • 输入:abccdef

  • 输出:
    a1
    b1
    c2
    d1
    e1
    f1

  • 解题思路

  遍历轮询输入字符串,依次次统计各字符串出现的次数。
  对于 Python ,字符串有 str.count() 方法可以对字符出现在字符中的次数进行统计。

(问题来源于 CSDN 问答社区提问“问题”)。



回页目录


2、用 str.count() 方法求解


  方法一、用字符串方法 str.count() 统计字符在输入字符串中出现的次数。
  • Python 代码

2.1 基本功能函数


def mycount(s: str) -> None:''' str.count() 方法统计字符出现频次 '''counted = [] # 记录已统计字符。for i in s:if i not in counted: # 如果字符没有统计过,统计输出后将字符加入已统计列表。print(i, s.count(i))counted.append(i)

2.2 输出格式化


   (关于字符串格式化,您可以点击蓝色文字跳转我的学习笔记“练习:三子棋( Python 插值字符串格式化应用)”、“ Python 中的字符串格式化”、“ str.replace() ( 另类的 Python 字符串格式化)”、“用插值字符串格式定制输出”,了解更多)

def mycount2(s: str) -> str:''' str.count() 方法统计字符出现频次 '''result = []for i in s:result.append((i, s.count(i)))result = list(set(result)) # 集合去重。result.sort() # 升序排序。result = [f"{i[0]}: {i[-1]}" for i in result] # 列表解析格式化字符计数。return f"\n{' '*12}".join([''] + result) # 返回一个字符统计一行的格式化输出结果。

2.3 函数调用


if __name__ == '__main__':input_s = 'abccdef'mycount(input_s)print(f"\n统计字符串{input_s}字符出现频次:\n{mycount2(input_s)}")
  • 代码运行效果截屏图片
    在这里插入图片描述


回页目录

3、用字典记录出现次数。


  方法二、用字典记录出现次数。字符为 key ,出现次数为值。最后输出字典键值对。

  • Python 代码

def mycount_dict(s: str) -> str:''' dict 存储字符串统计 '''counts = {} # 字符统计存储字典。for i in s:counts[i] = counts.get(i, 0) + 1 # 统计数据存入字典。return f"\n{' '*22}".join([''] + [f"{key}: {value}" for key, value in counts.items()])
  • 代码运行效果截屏图片
    在这里插入图片描述


  (我曾经记下一篇学习笔记“练习:字符串统计(坑:f‘string‘报错)”,您可以点击蓝色文字跳转翻阅)


回页目录

4、换个字符串试试


  换个字符串试试: I am Dream Elf. I'm in Chongqing.
  • Python 代码

if __name__ == '__main__':input_s = "I am Dream Elf. I'm in Chongqing."s = input_sfor i in ' .\'':s = s.replace(i, '') # 去除输入字符串中的空格和句点和单引号。mycount(s)print(f"\n统计字符串“{input_s}”字符出现频次:\n{mycount2(s)}")print(f"\n统计字符串“{input_s}”字符出现频次(dict存储统计数据):\n{mycount_dict(s)}")
  • 代码运行效果截屏图片
    在这里插入图片描述
    在这里插入图片描述


  (我曾经记下一篇学习笔记“练习:字符串统计(坑:f‘string‘报错)”,您可以点击蓝色文字跳转翻阅)


回页目录

5、完整源码

(源码较长,点此跳过源码)

#!/sur/bin/nve python
# coding: utf-8'''练习:字符串统计'''def mycount(s: str) -> None:''' str.count() 方法统计字符出现频次 '''counted = [] # 记录已统计字符。for i in s:if i not in counted: # 如果字符没有统计过,统计输出后将字符加入已统计列表。print(i, s.count(i))counted.append(i)def mycount2(s: str) -> str:''' str.count() 方法统计字符出现频次 '''result = []for i in s:result.append((i, s.count(i)))result = list(set(result)) # 集合去重。result.sort() # 升序排序。result = [f"{i[0]}: {i[-1]}" for i in result] # 列表解析格式化字符计数。return f"\n{' '*12}".join([''] + result) # 返回一个字符统计一行的格式化输出结果。def mycount_dict(s: str) -> str:''' dict 存储字符串统计 '''counts = {} # 字符统计存储字典。for i in s:counts[i] = counts.get(i, 0) + 1 # 统计数据存入字典。return f"\n{' '*22}".join([''] + [f"{key}: {value}" for key, value in counts.items()])if __name__ == '__main__':input_s = "I am Dream Elf. I'm in Chongqing."s = input_sfor i in ' .\'':s = s.replace(i, '') # 去除输入字符串中的空格和句点和单引号。mycount(s)print(f"\n统计字符串“{input_s}”字符出现频次:\n{mycount2(s)}")print(f"\n统计字符串“{input_s}”字符出现频次(dict存储统计数据):\n{mycount_dict(s)}")

回页首

上一篇:  阶乘求和(求 1! + 2! + 3! + … + 202320232023! ,总和的末尾九位数字)
下一篇: 

我的HOT博:

  本次共计收集 201 篇博文笔记信息,总阅读量 32.59w,平均阅读量 1621。已生成 21 篇阅读量不小于 3000 的博文笔记索引链接。数据采集于 2023-05-06 05:25:55 完成,用时 4 分 44.70 秒。


  1. 让QQ群昵称色变的神奇代码
    ( 53797 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122566500
    点赞:23   踩 :0  收藏:78  打赏:0  评论:16
    本篇博文笔记于 2022-01-18 19:15:08 首发,最晚于 2022-01-20 07:56:47 修改。
  2. ChatGPT国内镜像站初体验:聊天、Python代码生成等
    ( 49298 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/129035387
    点赞:123   踩 :0  收藏:786  打赏:0  评论:75
    本篇博文笔记于 2023-02-14 23:46:33 首发,最晚于 2023-03-22 00:03:44 修改。
  3. pandas 数据类型之 DataFrame
    ( 8074 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/124525814
    点赞:6   踩 :0  收藏:24  打赏:0  评论:0
    本篇博文笔记于 2022-05-01 13:20:17 首发,最晚于 2022-05-08 08:46:13 修改。
  4. 罗马数字转换器|罗马数字生成器
    ( 6404 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122592047
    点赞:0   踩 :0  收藏:1  打赏:0  评论:0
    本篇博文笔记于 2022-01-19 23:26:42 首发,最晚于 2022-01-21 18:37:46 修改。
  5. Python字符串居中显示
    ( 6104 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122163023
    点赞:1   踩 :0  收藏:5  打赏:0  评论:1
    本篇博文笔记于 2021-12-26 23:35:29 发布。
  6. 斐波那契数列的递归实现和for实现
    ( 5297 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122355295
    点赞:4   踩 :0  收藏:2  打赏:0  评论:8
    本篇博文笔记于 2022-01-06 23:27:40 发布。
  7. 个人信息提取(字符串)
    ( 5138 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/124244618
    点赞:1   踩 :0  收藏:8  打赏:0  评论:0
    本篇博文笔记于 2022-04-18 11:07:12 首发,最晚于 2022-04-20 13:17:54 修改。
  8. 练习:字符串统计(坑:f‘string‘报错)
    ( 4870 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/121723096
    点赞:0   踩 :0  收藏:1  打赏:0  评论:0
    本篇博文笔记于 2021-12-04 22:54:29 发布。
  9. 练习:尼姆游戏(聪明版/傻瓜式•人机对战)
    ( 4594 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/121645399
    点赞:14   踩 :0  收藏:42  打赏:0  评论:0
    本篇博文笔记于 2021-11-30 23:43:17 发布。
  10. 回车符、换行符和回车换行符
    ( 4357 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/123109488
    点赞:0   踩 :0  收藏:2  打赏:0  评论:0
    本篇博文笔记于 2022-02-24 13:10:02 首发,最晚于 2022-02-25 20:07:40 修改。
  11. python清屏
    ( 4293 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/120762101
    点赞:0   踩 :0  收藏:5  打赏:0  评论:0
    本篇博文笔记于 2021-10-14 13:47:21 发布。
  12. 密码强度检测器
    ( 3886 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/121739694
    点赞:1   踩 :0  收藏:4  打赏:0  评论:0
    本篇博文笔记于 2021-12-06 09:08:25 首发,最晚于 2022-11-27 09:39:39 修改。
  13. 罗马数字转换器(用罗马数字构造元素的值取模实现)
    ( 3811 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122608526
    点赞:0   踩 :0  收藏:0  打赏:0  评论:0
    本篇博文笔记于 2022-01-20 19:38:12 首发,最晚于 2022-01-21 18:32:02 修改。
  14. Python列表(list)反序(降序)的7种实现方式
    ( 3649 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/128271700
    点赞:4   踩 :0  收藏:12  打赏:0  评论:8
    本篇博文笔记于 2022-12-11 23:54:15 首发,最晚于 2023-03-20 18:13:55 修改。
  15. 练习:生成100个随机正整数
    ( 3590 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/122558220
    点赞:1   踩 :0  收藏:3  打赏:0  评论:0
    本篇博文笔记于 2022-01-18 13:31:36 首发,最晚于 2022-01-20 07:58:12 修改。
  16. 练习:班里有人和我同生日难吗?(概率probability、蒙特卡洛随机模拟法)
    ( 3538 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/124424935
    点赞:1   踩 :0  收藏:2  打赏:0  评论:0
    本篇博文笔记于 2022-04-26 12:46:25 首发,最晚于 2022-04-27 21:22:07 修改。
  17. 我的 Python.color() (Python 色彩打印控制)
    ( 3377 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/123194259
    点赞:2   踩 :0  收藏:7  打赏:0  评论:0
    本篇博文笔记于 2022-02-28 22:46:21 首发,最晚于 2022-03-03 10:30:03 修改。
  18. 练习:仿真模拟福彩双色球——中500w巨奖到底有多难?跑跑代码就晓得了。
    ( 3216 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/125415626
    点赞:3   踩 :0  收藏:4  打赏:0  评论:3
    本篇博文笔记于 2022-06-22 19:54:20 首发,最晚于 2022-06-23 22:41:33 修改。
  19. 聊天消息敏感词屏蔽系统(字符串替换 str.replace(str1, *) )
    ( 3076 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/124539589
    点赞:3   踩 :0  收藏:2  打赏:0  评论:3
    本篇博文笔记于 2022-05-02 13:02:39 首发,最晚于 2022-05-21 06:10:42 修改。
  20. Linux 脚本文件第一行的特殊注释符(井号和感叹号组合)的含义
    ( 3038 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/123087606
    点赞:0   踩 :0  收藏:4  打赏:0  评论:3
    本篇博文笔记于 2022-02-23 13:08:07 首发,最晚于 2022-04-04 23:52:38 修改。
  21. 练习:求列表(整数列表)平衡点
    ( 3023 阅读)
    博文地址:https://blog.csdn.net/m0_57158496/article/details/121737612
    点赞:0   踩 :0  收藏:0  打赏:0  评论:0
    本篇博文笔记于 2021-12-05 23:28:10 发布。
推荐条件 阅读量突破三千
(更多热博,请点击蓝色文字跳转翻阅)

回页首


老齐漫画头像

精品文章:

  • 好文力荐:齐伟书稿 《python 完全自学教程》 Free连载(已完稿并集结成书,还有PDF版本百度网盘永久分享,点击跳转免费🆓下载。)
  • OPP三大特性:封装中的property
  • 通过内置对象理解python'
  • 正则表达式
  • python中“*”的作用
  • Python 完全自学手册
  • 海象运算符
  • Python中的 `!=`与`is not`不同
  • 学习编程的正确方法

来源:老齐教室


回页首

◆ Python 入门指南【Python 3.6.3】


好文力荐:

  • 全栈领域优质创作者——[寒佬](还是国内某高校学生)博文“非技术文—关于英语和如何正确的提问”,“英语”和“会提问”是编程学习的两大利器。
  • 【8大编程语言的适用领域】先别着急选语言学编程,先看它们能干嘛
  • 靠谱程序员的好习惯
  • 大佬帅地的优质好文“函数功能、结束条件、函数等价式”三大要素让您认清递归

CSDN实用技巧博文:

  • 8个好用到爆的Python实用技巧
  • python忽略警告
  • Python代码编写规范
  • Python的docstring规范(说明文档的规范写法)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/51630.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

while 循环、if 条件判断,同心协力打造「模拟“春节集五福”活动」程序

while 循环, if 条件判断组合发力解题。根据近两年流行的春节集五福活动,编写一个模块,实现模拟春节集五福的过程。 【学习的细节是欢悦的历程】 Python 官网:https://www.python.org/ Free:大咖免费“圣经”教程《 p…

2023 年 6 月最新绿色软件来了

2023 年6月继续分享实用Windows绿色软件系列,不用安装即可使用,在公众号苏生不惑后台对话框回复关键词 2023616 获取下载地址,之前分享过的都同步到我的博客了 https://sushengbuhuo.github.io/blog LastActivityView 这个工具可以显示用户进…

百度工程师浅谈分布式日志

作者 | 文库基础架构 导读 introduction 我们做软件开发时,或多或少的会记录日志。由于日志不是系统的核心功能,常常被忽视,定位问题的时候才想起它。本文由浅入深的探讨不起眼的日志是否重要,以及分布式架构下的日志运维工具应该…

套用bi模板,轻松搞定各类数据分析报表

bi模板是什么?是一个个提前预设的报表设计,套用后立即生效,轻轻松松搞定bi数据可视化分析报表。bi模板都有哪些类型?怎么套用?以奥威bi数据可视化软件为例,聊聊bi模板的种类和下载使用。 bi模板有哪些? …

企业级Web报表工具告诉你财务要做哪些数据分析

现如今企业财务都实现了电子化,这意味着我们企业的财务人员要将庞大的财务数据录入计算机。现在大部分财务人员都采用传统Excel的方式进行财务报表制作和分析,不但要投入大量的时间和精力,而且易出错、效率低。 最近小编发现了一个企业级Web…

西米支付:微信支付接口(申请与介绍)

据统计,2022年微信全球用户数超12.8亿,其中微信支付使用人数达到6亿,而且微信支付在中国移动支付的市场份额超过40%,无论是在线上购物,还是线下收款,都能看到微信支付的身影,微信支付已经融入到…

IEEE Trans、Journal 和 Letter 的论文格式要求

目录 论文标题 作者 摘要 索引术语/关键词 作者信息脚注 简介 Word模板使用 缩写和缩略语 数学公式 图的制作和提交 IEEE图的类型 多部分图 图形的文件格式 图形尺寸 分辨率 矢量图 颜色空间 图中字体 图中标签 坐标轴标签 多部分图中子图和表的标签 对本…

解决方案:Zotero实现参考文献中英文混排,将英文文献中的“等”转成“et al.”

Zotero 是一款非常实用且易于使用的参考文献管理工具,可帮助用户收集、整理和引用各种类型的文献,包括图书、期刊文章、网页等。在学术写作中起着重要作用。 但是其在中文世界中,运行起来偶尔会出现问题,这里记录一个问题及其解决…

好的产品经理都是这样绘制原型图的...

本片文章(原型上篇)重点内容: 清晰的视觉层次视觉流结构功能预见性信息的焦点即为视觉的焦点足够简单考虑到边界条件 首先,我们要明确原型图是画给谁看的,通常是以下几类人:开发、部门领导、UI设计师和测试…

好的产品经理都是这样绘制原型图的(下)...

前几天分享了上篇:好的产品经理都是这样绘制原型图的... 今天来分享下篇,本篇(原型篇-下)主要内容: 原型图标注,画开发看得懂的图同一个页面展示所有的交互状态页面跳转关系图(不要做孤立的设计…

【通览一百个大模型】LaMDA(Google)

【通览一百个大模型】LaMDA(Google) 作者:王嘉宁,本文章内容为原创,仓库链接:https://github.com/wjn1996/LLMs-NLP-Algo 订阅专栏【大模型&NLP&算法】可获得博主多年积累的全部NLP、大模型和算法干…

生成式AI加入低代码,或将再次颠覆开发行业

研究表明,生成式AI模型的发展将会进一步降低使用低代码和无代码开发工具的门槛,并可能诞生一类全新的智能开发技术。 在帮助用户构建自己的软件应用程序方面,低代码和无代码平台已经发挥了至关重要的作用,这些用户很少具备或根本…

聊一下大学几年如何渡过

(点击即可收听) 随着高考志愿填报的结束,等待自己的就是录取,出分与录取是每个高考生最激动的时刻 如果被某个大学和专业录取了,那接下来就是好好去上大学了的 作为一个经过大学洗礼的自己,在这里有一些话想对即将步入大学的同学说…

这里有一份诚意满满的计算机专业推荐书单

随着高考陆续放榜,盼来成绩的考生与家长们又迎来另一个纠结的难题——志愿填报。确认自己的专业方向,不仅要综合自身兴趣与特长考虑,还需与未来的就业挂钩。 根据《2023高考志愿报告》,当前计算机科学与技术专业热度仍然排名第一位…

IntelliJ IDEA 中插件的安装过程

这里简单介绍一下 IntelliJ IDEA 中插件的安装过程 有两种方式: (1)在线安装 (2)本地安装/离线安装

VS2022 + QT中文乱码问题

解决方法:下载插件 第一步:扩展→管理扩展 第二步:搜索并下载Format on Save for VS2022 可以在已安装栏看是否安装成功,重启VS2022就可以了。 感谢阅读,如有不足之处,欢迎来指正。谢谢!

如何解决表单提交的中文乱码问题 (控制台乱码输出)

在使用Tomcat跑项目的时候 会遇到类似下图乱码控制台输出问题 非常不方便 如果不解决 会影响我们后面代码报错 找问题 介绍一下几种乱码问题 一、JSP文件修改乱码 <% page language"java" contentType"text/html; charsetUTF-8"pageEncoding"UT…

页面乱码问题解决(汇总)

页面乱码问题解决 目录 1.前端页面代码解决乱码问题 2. 后端端页面代码解决乱码问题 3. idea编译文件乱码问题 1.前端页面代码解决乱码问题 &#xff08;a&#xff09;页面是jsp&#xff0c;对于这个&#xff0c;需要在jsp头部加上 page的编码设置 <% page contentTyp…

各种中文乱码解决大全

各种乱码&#xff1a;处理方式 配置tomcat以及IDEA的配置文件时&#xff08;注意要重新启动&#xff09; 希望以下几种解决方法对大家有所帮助&#xff01;&#xff01;&#xff01;1.启动Tomcat控制台中文乱码&#xff1a; 解决方法&#xff1a; -Dfile.encodingUTF-8 2.I…

构建个人版ChatGPT Prompt

目录 前言 一、基本原则 二、进阶技巧 1.增加结果示例 2.角色扮演 3.对于复杂问题&#xff0c;分步进行 4.使用分隔符 5.要求ChatGPT进行自我检查 6.使用英文 三、推荐免费插件 总结 前言 一、基本原则 当我们尝试写一个更好的 Prompt 时&#xff0c;我们可以参考 E…