考生文件夹下存在2个Python源文件和2个文本文件。其中,2个Python源文件对应2个问题,2个文件
分别摘自2019年2018年的政府工作报告。请分别补充2个Python源文件,实现以下功能。
问题1:数据统计。要求:修改PY301-1. py文件代码,分别统计两个文件中出现次数最多的10词语,作为
主题词,要求词语不少于2个字符,打印输出在屏幕上,输出示例如下: (示例词语非答案 )
2019:改革:10,企业:9…. (略),深化:2
2019:改革:11,效益:7… (略) ,深化:1
注意:输出格式采用英文冒号和英文逗号,标点符号前后无空格,各词语间用逗号分隔,最后一个词语
后无逗号。
问题2:数据关联。要求:修改PY301-2. py文件中代码,对比两组主题词的差异,输出两组的共有词语和
分别的特有词语。输了示例如下: (示例词语非答案 )
共有词语:改革…. (略) ,深化
2019特有:企业… (略) ,加强
2018特有:效益… (略) ,创新
参考答案
import jieba def getkey(fn): fi = open(fn,"r") txt = fi.read()#改革企业... ls = jieba.lcut(txt)#['改革','企业',..] lw = []#装不少u2给字符的词 for i in ls: if len(i) >= 2: lw.append(i) d = {}#{"改革":10,"企业":9,...} for i in lw: d[i] = d.get(i,0)+1 lt = list(d.items())#[("改革",10),("企业",9)..] lt.sort(key = lambda x:x[1],reverse = True) s = "" for i in range(10):#0,1,2,3...9 s += "{}:{},".format(lt[i][0],lt[i][1]) s = s.rstrip(",") return s print("2019:{}".format(getkey("data2019.txt"))) print("2018:{}".format(getkey("data2018.txt")))