小李将一个月内某平台上每天的状态关键词(美滋滋、忙、疲惫……)保存在了文本文件"state.txt"中,现在需要编写Python程序,统计一个月内出现次数最多的状态关键词及次数,如果有多个状态关键词并列最多,则输出第一个。
实现思路:
['美滋滋', '裂开', '运动', '疲惫', '发呆', '冲', '学习', '学习', '胡思乱想', '忙', '元气', '美滋滋', '美滋滋', '美滋滋', '美滋滋', '美滋滋', '裂开', '运动', '疲惫', '发呆', '冲', '胡思乱想', '元气', '裂开', '运动', '忙', '美滋滋', '美滋滋', '发呆', '摸鱼', '回家']输出示例:
出现最多的状态是:美滋滋 次数为:8
实现上述功能的Python程序如下,请在划线处填入合适的代码。
"""
import jieba
txt = open("/data/state.txt", "r", encoding="utf-8").read()
words = jieba. ① (txt) # jieba模块分词的结果存放在列表中
"""
words = ['美滋滋', '裂开', '运动', '疲惫', '发呆', '冲', '学习', '学习', '胡思乱想', '忙', '元气', '美滋滋', '美滋滋', '美滋滋', '美滋滋', '美滋滋', '裂开', '运动', '疲惫', '发呆', '冲', '胡思乱想', '元气', '裂开', '运动', '忙', '美滋滋', '美滋滋', '发呆', '摸鱼', '回家']
maxlen = 1 # 变量maxlen存放最多出现次数
maxd = 0 # 变量maxd存放最多出现次数的状态关键词在列表中的位置
dic = {} # 字典dic存放每个状态关键词及其出现次数
i = 0
while i < len(words):
if words[i] not in dic:
②
else:
dic[words[i]] += 1
if ③ :
maxd = i
maxlen = dic[words[i]]
i += 1
print("出现最多的状态是:", ④ ,"次数为:",maxlen)