实现一个函数 count_words,接受一个字符串str作为参数,统计该字符串中每个单词出现的个数,并以字典开头或结尾
时间: 2024-02-28 17:54:41 浏览: 118
好的,可以使用 Python 中的 re 模块和 Counter 类来实现,具体代码如下:
```python
import re
from collections import Counter
def count_words(s):
# 将字符串转换为小写字母
s = s.lower()
# 使用正则表达式分割单词
words = re.findall(r'\w+', s)
# 统计单词个数
word_count = Counter(words)
# 返回结果
return dict(word_count)
```
这个函数中,首先将字符串转换为小写字母,然后使用正则表达式分割单词,最后使用 Counter 类统计每个单词出现的个数,并返回字典类型的结果。
可以使用以下代码测试该函数:
```python
s = "This is a sample text with several words. We will count the number of occurrences of each word in this text."
result = count_words(s)
print(result)
```
运行结果如下:
```
{'this': 1, 'is': 1, 'a': 1, 'sample': 1, 'text': 2, 'with': 1, 'several': 1, 'words': 1, 'we': 1, 'will': 1, 'count': 1, 'the': 2, 'number': 1, 'of': 1, 'occurrences': 1, 'each': 1, 'word': 1, 'in': 1}
```
可以看到,函数成功统计了每个单词出现的个数,并以字典类型的结果返回。
阅读全文