2条回答 默认 最新
关注让阿豪来帮你解答,本回答参考chatgpt3.5编写提供,如果还有疑问可以评论或留言
问题描述: 使用Python编写程序,统计一段文本中各个单词出现的频率,并以字典形式输出结果。 回答: 代码实现:def word_frequency(text): words_list = text.split() # 将文本按空格分割成单词列表 frequency_dict = {} # 新建空字典用来存储单词频率 for word in words_list: if word in frequency_dict: frequency_dict[word] += 1 # 如果单词已经出现过,则对应的频率加1 else: frequency_dict[word] = 1 # 否则为1 return frequency_dict text = "I Have a Dream, a song to sing, to help me cope with anything." # 模拟文本,可以替换成任意文本 frequency_dict = word_frequency(text) print(frequency_dict)输出结果:
{ 'I': 1, 'Have': 1, 'a': 2, 'Dream,': 1, 'song': 1, 'to': 2, 'sing,': 1, 'help': 1, 'me': 1, 'cope': 1, 'with': 1, 'anything.': 1 }解释说明: 1. 将文本按空格分割成单词列表。 使用Python内置函数
split()将文本按空格分割,返回一个单词列表。例如,将"I Have a Dream"分割后会得到["I", "Have", "a", "Dream"]。 2. 新建空字典用来存储单词频率。 使用空字典对象{},将单词作为键,频率作为值进行存储。 3. 对于每个单词,统计其频率。 遍历单词列表,对于每个单词,判断其是否已经在字典中出现过。如果出现过,则对应的频率加1;否则,将其添加到字典中,并将其频率初始化为1。 4. 将字典输出。 返回存储单词频率的字典对象,并在程序中输出结果。 参考资料: - Python 3.9.7 文档:字符串方法 - split() - Python 3.9.7 文档:内置类型 dict - Python 3.9.7 文档:控制流语句 - if 语句解决 无用评论 打赏 举报
