任务一
请实现一个wordcount函数,统计英文字符串中每个单词出现的次数。返回一个字典,key为单词,value为对应单词出现的次数。
导入模块:
re
:用于处理正则表达式,帮助我们在字符串中找到和替换模式。
Counter
:来自 collections
模块,是一个特殊的字典,用于计数对象的出现次数。
去除标点符号并转换为小写:
re.sub(r'[^\w\s]', '', text)
:使用正则表达式 r'[^\w\s]'
匹配所有非字母数字字符和非空白字符的内容,并将其替换为空字符串,从而去除标点符号和其他特殊字符。
text.lower()
:将文本转换为小写字母,以便在统计单词时不区分大小写。
拆分文本:
text.split()
:将处理后的文本按空格分割成单词列表。split()
默认按空白字符拆分,包括空格、制表符等。
统计单词出现次数:
Counter(words)
:创建一个 Counter
对象,它会遍历 words
列表,并统计每个单词出现的次数,返回一个字典,其中键是单词,值是单词出现的次数。
返回结果:
dict(word_count)
:将 Counter
对象转换为普通字典,并返回。这样输出的字典格式更常见,方便后续使用。
任务二
请使用本地vscode连接远程开发机,将上面你写的wordcount函数在开发机上进行debug,体验debug的全流程,并完成一份debug笔记(需要截图)。
一共设计4处断点:
在 text = re.sub(r'[^\w\s]', '', text).lower()
行设计断点:
目的:查看经过处理后的文本内容。此处对文本进行去除标点符号和转换为小写操作。
在 words = text.split()
行设计断点:
目的:查看文本被拆分成的单词列表。此处将文本按空格分割成单词。
在 word_count = Counter(words)
行设计断点:
目的:查看单词计数的结果。此处使用 Counter
对象统计每个单词的出现次数。
在 return dict(word_count)
行设计断点:
目的:查看最终返回的字典结果。此处将 Counter
对象转换为普通字典并返回。