跳到主要内容

统计一个文本中单词频次 高的 10 个单词?

参考答案:

为了统计一个文本中单词频次高的前10个单词,你可以使用Python的collections模块中的Counter类。下面是一个简单的示例:

import re
from collections import Counter

def get_top_words(text, n=10):
    # 使用正则表达式分割文本为单词
    words = re.findall(r'\b\w+\b', text.lower())
    
    # 使用Counter统计单词频次
    word_counts = Counter(words)
    
    # 获取频次最高的前n个单词
    top_words = word_counts.most_common(n)
    
    return top_words

# 示例文本
text = """
Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. 
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
"""

top_10_words = get_top_words(text)
for word, count in top_10_words:
    print(f"{word}: {count}")

这个示例中,我们首先使用正则表达式\b\w+\b来分割文本为单词。然后,我们使用Counter来统计每个单词的频次。最后,我们使用most_common(n)方法获取频次最高的前n个单词。

请注意,这个示例将文本转换为小写,以便不区分大小写。如果你希望区分大小写,可以删除.lower()调用。

这个示例的输出可能是:

et: 3
do: 2
lorem: 1
ipsum: 1
dolor: 1
sit: 1
amet: 1
consectetur: 1
adipiscing: 1
elit: 1

但请注意,由于文本内容的不同,你得到的输出可能会有所不同。