题目:定义一个函数,实现输入一句话,单词之间使用空格隔开,统计出其中各单词的词频数, 并以keyword:count的格式存在一个dict中,返回这个dict。 注意 jkl; 不是一个单词,jkl 是一个单词,要把“; + ”等非字符符号去掉 即输入:“abc fjf jkl+ abc abc jkl;” 结果是 {"abc":3,"fjf":1,"jkl":2}
时间: 2023-06-12 13:06:04 浏览: 123
可以按照以下步骤实现该函数:
1. 将输入的字符串按照空格分割成单词列表。
2. 遍历单词列表,去掉每个单词中的非字符符号,例如“;”等。
3. 统计每个单词出现的次数,存储在一个字典中。
4. 返回字典。
代码实现如下:
```python
def count_word_frequency(sentence):
# 将句子按照空格分割成单词列表
words = sentence.split()
# 去掉每个单词中的非字符符号
for i in range(len(words)):
words[i] = ''.join(filter(str.isalpha, words[i]))
# 统计每个单词出现的次数,存储在一个字典中
word_count = {}
for word in words:
if word:
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1
# 返回字典
return word_count
```
测试一下:
```python
sentence = "abc fjf jkl abc abc jkl;"
print(count_word_frequency(sentence))
# 输出:{'abc': 3, 'fjf': 1, 'jkl': 2}
```