python统计文本中各类符号的出现次数,用字典变量记录,打印出现次数最高的前5个词,每个词一行
时间: 2024-09-15 16:14:51 浏览: 48
python实现统计文本中单词出现的频率详解
在Python中,你可以使用`collections.Counter`来统计文本中各字符(包括符号、单词等)的出现次数,并结合`string`模块获取常用的标点符号列表。以下是一个简单的示例:
```python
import string
from collections import Counter
# 假设我们有一个字符串text
text = "这是一个包含各种符号的示例文本,如逗号、句号、感叹号等。"
# 使用string.punctuation获取所有标点符号
punctuations = string.punctuation
# 统计字符(包括空格和标点)出现次数
char_counts = Counter(text)
# 只统计字母,忽略数字和特殊字符
alpha_char_counts = Counter(char for char in text if char.isalpha())
# 打印出现次数最多的前5个单词
word_counts = Counter(word for word in text.split() if word.isalpha())
top_5_words = word_counts.most_common(5)
for word, count in top_5_words:
print(f"{word}: {count}")
# 打印出现次数最多的前5个标点符号
print("\nTop 5 punctuation marks:")
for punctuation, count in punctuations.items():
if count in char_counts and char_counts[count] > 0:
print(f"{punctuation}: {char_counts[punctuation]}")
# 打印出现次数最多的其他字符(非字母和标点)
other_counts = alpha_char_counts - word_counts
if other_counts:
print("\nTop 5 non-word characters:")
for char, count in other_counts.most_common(5):
print(f"{char}: {count}")
```
运行此代码会输出文本中出现频率最高的单词以及最常见的标点符号。
阅读全文