python编写程序,统计一个文本文件中出现的大写字母和它们出现的次数,并按照字母出现次数降序排序输出
时间: 2024-09-20 22:14:57 浏览: 6
在Python中,你可以通过内置的`collections`模块和字典数据结构来完成这个任务。首先读取文本文件,然后遍历每一行,对于大写字母,如果它已经在字典中,则增加计数,如果没有则添加到字典并设置初始计数为1。最后,可以使用`sorted`函数结合`lambda`表达式对字典按值(即字母出现次数)降序排序。以下是示例代码:
```python
import collections
def count_uppercase_letters(file_path):
with open(file_path, 'r') as file:
content = file.read().lower() # 先将所有字符转为小写便于统一处理
uppercase_dict = collections.Counter(c for c in content if c.isupper()) # 使用Counter计算每个大写字母的出现次数
sorted_dict = dict(sorted(uppercase_dict.items(), key=lambda item: item[1], reverse=True)) # 按照值降序排序
return sorted_dict
# 使用函数
file_name = "example.txt" # 替换为你需要分析的文本文件名
result = count_uppercase_letters(file_name)
for letter, count in result.items():
print(f"{letter}: {count} times")