python函数使用Counter模块接收一个字符串,返回出现次数最多的前三个字符组成的列表,并按从多到少排列,返回前三个字符,
时间: 2023-05-24 12:03:46 浏览: 237
py代码-输入一个字符串,输出其中每个字符的出现次数。 要求使用标准库collections中的Counter类
5星 · 资源好评率100%
A:
可以使用Counter模块来实现字符串中字符出现次数的统计,然后使用collections库中的nlargest函数获取出现次数最多的前三个字符,最后按照从多到少的顺序返回前三个字符组成的列表。
代码实现如下:
```python
from collections import Counter
from collections import nlargest
def top_three_chars(s):
# 使用Counter模块统计字符串中每个字符出现次数
counter = Counter(s)
# 使用nlargest函数获取出现次数最多的前三个字符及其出现次数
top_chars = nlargest(3, counter.items(), key=lambda x: x[1])
# 只返回前三个字符
return [c[0] for c in top_chars]
# 测试代码
s = "aaabbbbccccddddeefff"
print(top_three_chars(s)) # ['c', 'b', 'a']
```
运行结果为['c', 'b', 'a']。
阅读全文