定义一个函数 count_str()统计给定的字符串中各个单词出现的次数并将结果用一个字典返回, 主模块中定义一个字符串将它作为实参传入count_str()中, 分别按键和值的升序顺序将返回的字典在屏幕上输出
时间: 2024-05-01 11:19:28 浏览: 112
好的,我理解你的问题了。以下是 count_str() 函数的定义和实现:
```python
def count_str(s):
s = s.lower() # 将字符串全部转换为小写
words = s.split() # 将字符串以空格分隔成单词
freqs = {} # 定义一个空字典,记录每个单词的出现次数
for word in words:
if word in freqs:
freqs[word] += 1
else:
freqs[word] = 1
return {k: v for k, v in sorted(freqs.items(), key=lambda item: (item[0], item[1]))}
```
上述代码首先将输入的字符串全部转换为小写,并以空格为分隔符,将其分割成单词。接着遍历每个单词,并记录字典中每个单词的出现次数,最后按键和值的升序顺序将字典排序并返回。
下面是控制台中对该函数的调用及输出:
```python
s = "Hello World, this is a test string. Hello again!"
freqs = count_str(s)
for k, v in freqs.items():
print(f"{k}: {v}")
```
输出结果:
```
a: 1
again!: 1
hello: 2
is: 1
string.: 1
test: 1
this: 1
world,: 1
```
按键和值的升序排列。
阅读全文