书生大模型实战营闯关记录----第二关:实现word_count统计文本中word频次

实现word_count统计文本中word频次

请实现一个wordcount函数,统计英文字符串中每个单词出现的次数。返回一个字典,key为单词,value为对应单词出现的次数。

Eg:

Input:

"""Hello world!  
This is an example.  
Word count is fun.  
Is it fun to count words?  
Yes, it is fun!"""

Output:

{'hello': 1, 'world': 1, 'this': 1, 'is': 4, 'an': 1, 'example': 1, 'word': 1, 'count': 2,
'fun': 3, 'it': 2, 'to': 1, 'words': 1, 'yes': 1}

TIPS:记得先去掉标点符号,然后把每个单词转换成小写。不需要考虑特别多的标点符号,只需要考虑实例输入中存在的就可以。

text = """
Got this panda plush toy for my daughter's birthday,
who loves it and takes it everywhere. It's soft and
super cute, and its face has a friendly look. It's
a bit small for what I paid though. I think there
might be other options that are bigger for the
same price. It arrived a day earlier than expected,
so I got to play with it myself before I gave it
to her.
"""

实现代码:

def wordcount(text):texts = [t.lower() for t in text.replace('\n', ' ').replace(',', '').replace('.', '').strip().split(' ')]map_count = {}for t in texts:if t==" " or t=='': continueif t not in map_count: map_count[t]=0map_count[t]+=1return map_countif __name__=="__main__":text = """
Got this panda plush toy for my daughter's birthday,
who loves it and takes it everywhere. It's soft and
super cute, and its face has a friendly look. It's
a bit small for what I paid though. I think there
might be other options that are bigger for the
same price. It arrived a day earlier than expected,
so I got to play with it myself before I gave it
to her.
"""count = wordcount(text)print(count)

运行结果为:

{'got': 2, 'this': 1, 'panda': 1, 'plush': 1, 'toy': 1, 'for': 3, 'my': 1, "daughter's": 1, 'birthday': 1, 'who': 1, 'loves': 1, 'it': 5, 'and': 3, 'takes': 1, 'everywhere': 1, "it's": 2, 'soft': 1, 'super': 1, 'cute': 1, 'its': 1, 'face': 1, 'has': 1, 'a': 3, 'friendly': 1, 'look': 1, 'bit': 1, 'small': 1, 'what': 1, 'i': 4, 'paid': 1, 'though': 1, 'think': 1, 'there': 1, 'might': 1, 'be': 1, 'other': 1, 'options': 1, 'that': 1, 'are': 1, 'bigger': 1, 'the': 1, 'same': 1, 'price': 1, 'arrived': 1, 'day': 1, 'earlier': 1, 'than': 1, 'expected': 1, 'so': 1, 'to': 2, 'play': 1, 'with': 1, 'myself': 1, 'before': 1, 'gave': 1, 'her': 1}

Debug

在Vscode中Debug Python程序可以使用breakpoint添加断点,如图所示添加断点即可,不过需要注意Python版本大于等于3.7
在这里插入图片描述

开始调试

命令行运行Python程序后,就会进入Debug模式,调试过程如下图:
在这里插入图片描述
详细的调试命令可以看:Python pdb调试器详细教程

欢迎报名书生大模型,一次来学习大模型

扫码下方二维码报名
在这里插入图片描述

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

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

相关文章

每日刷题记录(codetop版)

7.21 7.22 7.23 复习7.21和7.22

读书的意义

文章目录 引言什么是热恋的人常做的事?写作是什么样的过程?什么是人生的转折点?人生的答案是什么?为什么很多人宁愿痛苦也不改变?回望过去常有的感受是什么?女人可以活成哪种样子?为什么不能轻言放弃?有没有做一件事“最完美的时刻”?如何生活得有滋有味?为什么要尝试…

Eureka在Kubernetes中的部署指南:微服务发现的艺术

标题:Eureka在Kubernetes中的部署指南:微服务发现的艺术 在当今快速发展的云计算时代,微服务架构因其灵活性和可扩展性而受到青睐。Eureka,作为Netflix开源的服务发现框架,已成为微服务架构中的一个关键组件。然而&am…

并发情况导致事务失效的场景

public void test(Pageable request){for (int i 0; i < 100; i) {//新建线程处理new Thread(() -> {userInfoService.testDemo();}).start();} } 这里创建多个线程模拟多并发场景 Transactional(rollbackOn Exception.class) public synchronized void testDemo() {…

一文入门SpringSecurity 5

目录 提示 Apache Shiro和Spring Security 认证和授权 RBAC Demo 环境 Controller 引入Spring Security 初探Security原理 认证授权图示​编辑 图中涉及的类和接口 流程总结 提示 Spring Security源码的接口名和方法名都很长&#xff0c;看源码的时候要见名知意&am…

海外IP代理科普:代理池有什么用?代理池大小的影响

在当今数字化时代&#xff0c;网络爬虫已经成为获取各类信息必不可少的工具。在大规模数据抓取中&#xff0c;使用单一 IP 地址或同一 IP 代理往往会面临抓取可靠性降低、地理位置受限、请求次数受限等一系列问题。为了克服这些问题&#xff0c;构建代理池成为一种有效的解决方…

控制欲过强的Linux小进程

控制欲强?视奸&#xff1f;普通人那才叫视奸&#xff0c;您是皇帝&#xff0c;天下大事无一逃过您的耳目&#xff0c;您想看什么就看什么&#xff0c;臣怀疑他在朋友圈私养兵士&#xff0c;囤积枪甲&#xff0c;蓄意谋反&#xff0c;图谋皇位啊&#xff01; 哈哈哈哈开个玩笑&…

使用GoAccess进行Web日志可视化

运行网站的挑战之一是了解您的 Web 服务器正在做什么。虽然各种监控应用程序可以在您的服务器以高负载或页面响应缓慢运行时提醒您&#xff0c;但要完全了解正在发生的事情&#xff0c;唯一的方法是查看 Web 日志。阅读日志数据页面并了解正在发生的事情可能需要花费大量时间。…

离散型以及连续型随机变量

目录 离散型随机变量 定义与性质 分布律 分布函数 连续型随机变量 定义与性质 概率密度函数 分布函数 多维随机变量 二维离散型随机变量 二维连续型随机变量 常见的连续型分布 离散型随机变量的概率质量函数和概率密度函数之间的关系是什么&#xff1f; 如何计算连…

C++的UI框架和开源项目介绍

文章目录 1.QT2.wxWidgets3.Dear ImGui 1.QT QT的开源项目&#xff1a;QGIS&#xff08;地理信息系统&#xff09; https://github.com/qgis/QGIS?tabreadme-ov-file 2.wxWidgets wxWidgets的开源项目&#xff1a;filezilla https://svn.filezilla-project.org/svn/ wxWidg…

OSI参考模型:解析网络通信的七层框架

引言 在现代计算机网络中&#xff0c;OSI&#xff08;开放式系统互联&#xff09;参考模型是理解和设计网络通信协议的基础。1978年由国际标准化组织&#xff08;ISO&#xff09;提出&#xff0c;OSI模型定义了网络通信的七层结构&#xff0c;每一层都承担着特定的功能&#x…

环形链表的相关证明

141. 环形链表 - 力扣&#xff08;LeetCode&#xff09; 给你一个链表的头节点 head &#xff0c;判断链表中是否有环。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部使…

基于MobileNetv2的垃圾分类函数式自动微分-昇思25天打卡

基于MobileNetv2的垃圾分类 本文档主要介绍垃圾分类代码开发的方法。通过读取本地图像数据作为输入&#xff0c;对图像中的垃圾物体进行检测&#xff0c;并且将检测结果图片保存到文件中。 1、实验目的 了解熟悉垃圾分类应用代码的编写&#xff08;Python语言&#xff09;&a…

推荐推荐两款免费的WIN PE工具,很好用两款免费的WIN PE工具,很好用

上次推荐了三款WIN PE工具​&#xff1a;推荐3款装机必不可少的PE工具箱&#xff0c;全是宝藏工具&#xff0c;千万不要错过-CSDN博客 今天继续推荐两款WIN PE工具。 FirPE FirPE是一款系统预安装环境&#xff08;Windows PE&#xff09;&#xff0c;它具有简约、易操作等特点…

《SeTformer Is What You Need for Vision and Language》

会议&#xff1a;AAAI 年份&#xff1a;2024 论文&#xff1a;DDAE: Towards Deep Dynamic Vision BERT Pretraining - AMinerhttps://www.aminer.cn/pub/6602613613fb2c6cf6c387c2/ddae-towards-deep-dynamic-vision-bert-pretraining 摘要 这篇论文介绍了一种新型的变换器…

分块查找(Java)

定义块对象 class Block{private int start;private int end;private int maxKey;public Block(int start, int end, int maxKey) {this.start start;this.end end;this.maxKey maxKey;}public int getStart() {return start;}public void setStart(int start) {this.start…

求职学习day9

打游戏后作息完全不受控制了。昨晚本来吃完晚饭想玩一会&#xff0c;直接玩到4点才睡觉。 五六点出去一趟走走还是挺好的&#xff0c;锻炼一下&#xff0c;获取一点生活气不然整天待在房间里都要疯了。 感觉可能是学习环境的问题&#xff0c;或者是生活作息的问题&#xff0c…

CSS 中border-radius 属性

border-radius 属性在 CSS 中用于创建圆角边框。它可以接受一到四个值&#xff0c;这些值可以是长度值&#xff08;如像素 px、em 等&#xff09;或百分比&#xff08;%&#xff09;。当提供四个值时&#xff0c;它们分别对应于边框的左上角、右上角、右下角和左下角的圆角半径…

Spring Boot 与 Amazon S3:快速上传与下载文件的完整指南

概要 在将 Spring Boot 更新到 3 系列时&#xff0c;由于 javax 需要被替换为 jakarta&#xff0c;因此原先依赖于 javax 的 spring-cloud-starter-aws1 将无法使用&#xff08;虽然在我本地环境中仍然可以正常工作&#xff09;。为了确保兼容性&#xff0c;我将依赖关系更改为…

如何将 M.2 HAT+ 与 Raspberry Pi 5 一起使用?

树莓派 M.2 HAT M Key 可以让您连接 M.2 外围设备,如 NVMe 硬盘和其他 PCIe 配件,到树莓派 5 的 PCIe 接口。 M.2 HAT 转接板可以把树莓派 5 上的 PCIe 连接器转换为单个 M.2 M key 边缘连接器。您可以连接任何使用 2230 或 2242 尺寸的设备。M.2 HAT 最大可提供 3A 的电源输出…