python123文本字符分布
时间: 2023-07-25 12:07:08 浏览: 151
对于一个文本文件,我们可以用 Python 来统计其中每个字符出现的次数,从而得到文本字符分布。下面是一个示例代码:
```python
import string
# 定义一个函数,用于统计文本文件中每个字符出现的次数
def char_distribution(file_path):
# 定义一个字典,用于存储每个字符出现的次数
char_dict = {}
# 打开文件
with open(file_path, 'r') as f:
# 逐行读取文件内容
for line in f:
# 去除每行末尾的换行符
line = line.strip()
# 遍历每个字符
for char in line:
# 如果字符是可打印字符,并且不是空格
if char in string.printable and char != ' ':
# 如果字典中已经有这个字符,则将它的计数加1
if char in char_dict:
char_dict[char] += 1
# 如果字典中没有这个字符,则将它的计数置为1
else:
char_dict[char] = 1
# 将字典按照字符出现次数从大到小排序,返回一个列表
return sorted(char_dict.items(), key=lambda x: x[1], reverse=True)
# 调用函数,统计一个文本文件中每个字符出现的次数
result = char_distribution('example.txt')
# 输出结果
for char, count in result:
print(char, count)
```
这个示例代码中,我们首先定义了一个函数 `char_distribution`,它接受一个文本文件路径作为参数,并返回一个按照字符出现次数从大到小排序的元组列表。函数的实现过程如下:
1. 定义一个空字典 `char_dict`,用于存储每个字符出现的次数。
2. 打开指定文件,逐行读取文件内容。
3. 遍历每个字符,如果它是可打印字符并且不是空格,则将它的计数加1或者将它的计数置为1。
4. 将字典按照字符出现次数从大到小排序,返回一个元组列表。
在主程序中,我们调用 `char_distribution` 函数,并将结果保存在 `result` 变量中。最后,我们遍历 `result` 列表,并输出每个字符出现的次数。
阅读全文