首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
考生文件夹下存在2个Python源文件和2个文本文件。其中,2个Python源文件对应2个问题,2个文本文件分别摘自2019年和2018年的×××工作报告。请分别补充2个Python源文件,实现以下功能。 数据关联。要求:修改PY301-2.py文件中的
考生文件夹下存在2个Python源文件和2个文本文件。其中,2个Python源文件对应2个问题,2个文本文件分别摘自2019年和2018年的×××工作报告。请分别补充2个Python源文件,实现以下功能。 数据关联。要求:修改PY301-2.py文件中的
admin
2022-09-10
36
问题
考生文件夹下存在2个Python源文件和2个文本文件。其中,2个Python源文件对应2个问题,2个文本文件分别摘自2019年和2018年的×××工作报告。请分别补充2个Python源文件,实现以下功能。
数据关联。要求:修改PY301-2.py文件中的代码,对比两组主题词的差异,输出两组的共有词语和分别的特有词语。输出示例如下(示例词语非答案)。
共有词语:改革,…,深化
2019特有:企业,…,加强
2018特有:效益,…,创新
注意:输出格式采用英文冒号和英文逗号,标点符号前后无空格,各词语间用逗号分隔,最后一个词语后无逗号。
试题程序
#
#以下代码仅供参考
#
d={}
It=list(d.items())
It.sort(key=lambda x:x[1],reverse=True)
选项
答案
import jieba def fenci(txt) f=open(txt,’r’) datas=f.read() f.close() data=jieba.lcut(datas) d={} for i in data: if len(i)>=2: d[i]=d.get(i,0)+1 lt=list(d.items()) sort(key=lambda x:x[1],reverse=Ture) ls=[x[0]for x in lt[:10]] return ls def show(lt): print(’,’.join(lt)) l1=fenci(’data2018.txt’) l2=fenci(’data2019.txt’) l3=[] for i in l1: if i in l2: append(i) for i in l3: remove(i) remove(i) print(’共有词语:’,end=’’,sep=’’) show(l3) print(’2019特有:’,end=’’,sep=’’) show(l2) print(’2018特有:’,end=’’,sep=’’) show(l1)
解析
(1)本题考核的是jieba库的应用和对组合数据类型方法的熟练使用。分析题目可知,本题需要对文件的词语进行频次统计,并输出数量的前10名。题目已给出的代码提示了需要使用字典对词频进行统计,然后转化成列表进行排序。因为本题需要对两个文件进行统计输出,所以考生可以选择使用函数,以减少冗余的操作。首先创建分词排序函数,此函数传入的参数为文件名,使得本函数可以操作多个文件。在分词排序函数体内部,首先对文件内容进行读取,需要打开文件并读取文件内容,然后需要使用jieba库将读取的内容分词。接下通过循环遍历分词的结果,通过判断其长度是否大于2来取得关键词并将其作为键存放到字典中,然后通过字典的get()方法,对词语出现的次数进行统计,并将其作为值。最后将字典通过items()方法和list()函数转化为列表,通过列表的sort()方法进行排序。
继续创建另一个函数用来展示前10名的数据,此函数接收上一个函数的分词结果作为参数。输出需要注意几点,每个数据需要通过冒号分隔词语,标点符号前后无空格,各词语间用逗号分隔,最后一个词语后无逗号。所以通过循环输出,输出时sep参数设置为空,end参数设置为逗号,并且第10个据在循环外部自行输出,否则在末尾最后一个数据后就会存在逗号。
最后调用函数,按次序输出即可。答案不唯一。
(2)本题考核的是jieba库分词和数据的比对。提示代码与第一题类似,并且统计的数据需要符合第一题条件的主题词,所以前半部分代码与第一题基本相同。依然选择创建函数以减少冗余操作。首先创建分词函数,此函数与上题略有不同,其中先将整理好的数据进行排序,然后使用列表生成式,将前10个符合要求的主题词存储入列表ls中,最后将ls作为返回值以便后续赋值操作。
再创建一个展示函数,因为列表中全部数据皆为字符串类型,所以此函数可以直接利用字符串的join()方法对列表内容进行拼接。最后在函数体外部对列表数据进行处理,将处于两个列表中的数据加入l3中,再将l1和l2列表中存在于13列表中的数据删除。这样就使l1属于2018年的数据,l2属于2019年的数据,l3属于共有数据。
最后调用函数输出即可。
转载请注明原文地址:https://jikaoti.com/ti/GF50FFFM
本试题收录于:
二级Python题库NCRE全国计算机二级分类
0
二级Python
NCRE全国计算机二级
相关试题推荐
使用如下数据表:学生.DBF:学号(C,8),姓名(C,6),性别(C,2),出生日期(D)选课.DBF:学号(C,8),课程号(C,3),成绩(N,5,1)设有学生(学号,姓名,性别,出生日期)和选课(学号,课程号,成绩)两
设有学生表S(学号,姓名,性别,年龄’)、课程表C(课程号,课程名,学分)和学生选课表sc(学号,课程号,成绩),检索学号、姓名和学生所选课程的课程名和成绩,正确的SQL语句是
下列程序段执行以后,内存变量A和B的值是CLEARA=10B=20SETUDFPARMSTOREFERENCEDOSQWITH(A),(B)&&参数A是值传递,B是值传递?A,B
要将显示日期值时所用的分隔符设置为竖杠“|”,错误的设置命令是
如果内存变量和字段变量均有变量名“姓名”,那么引用内存变量的正确方法是
在VisualFoxPro中,使用LOCATEALL命令按条件查找记录,可以通过下面哪一个函数来判断命令查找到满足条件的记录()。
(1)建立表单,如图2—2所示。表单文件名和表单控件名均为forintest,表单标题为“考试系统”,表单背景为灰色(BackColor=192,192,192),其他要求如下:①表单上有“欢迎使用考试系统”(Label1)8个字,其背景颜色为
(1)在考生文件夹下有一个数据库“图书借阅”,使用报表向导制作一个名为tsrepo的报表,存放在考生文件夹下。要求:选择borrows表中所有的字段。报表样式为“经营式”,报表布局:列数“1”,字段布局“列”,方向“纵向”,按“借书证号”字段升序排序,报表
打开考生文件夹下的DB数据库,完成如下基本操作:使用报表向导建立一个简单报表。要求选择TABA中的所有字段;记录不分组;报表样式为随意式;列数为1,字段布局为“列”,方向为“横向”;排序字段为NO,升序;报表标题为“计算结果一览表”;报表文
仅使用Python基本语法,即不使用任何模块,编写Python程序计算下列数学表达式的结果并输出,小数点后保留3位。x=
随机试题
下列对冠脉血流储备用超声造影测定的叙述,哪一项是错误的
A.CD4+T细胞、CD8+T细胞、单核巨噬细胞浸润、肾小管坏死B.肾小血管壁纤维增厚,管腔狭窄C.急性坏死性血管炎,Ig和补体沉积伴肾出血、梗死D.肾间质大量中性粒细胞浸润肾超急性排斥反应
生、炒用多用于消食散瘀,炭用多用于止泻痢的药物是
极差是反映变量离散趋势的指标,下列说法错误的是
A.头部低垂,两目深陷,呆滞无光B.后背弯曲,两肩下垂C.腰部酸软,不能转动D.两膝屈伸不利,行则俯身扶物E.不能久立,行则振摇不稳
A.不得调剂B.应当告知处方医师,请其确认或者重新开具处方C.药师可自行修改D.应当拒绝调剂,及时告知处方医师,并应当记录,按照有关规定报告在处方调剂过程中,最关键的步骤就是药师对处方的核查。在审核的过程中,药师应该对于不规范处方或不能判定其合
关于下列所得缴纳个人所得税的说法,正确的有()。
社会有权利要求每一个人贡献自己的力量,以促进社会的健全和繁荣。这是比斯台克提出的社会工作价值体系中()方面的主要内容。
请根据所提供的教材片段,设计1课时的教学简案。要求:(1)写出一篇规范完整的课时教学简案;(2)恰当设定本课时的教学目标、教学重点和难点;(3)合理地设计学习活动和作业要求;(4)设计至少三个课堂提问;(5)对教案中的主要环节作出设计说
【B1】【B6】
最新回复
(
0
)