Python二级考试程序题型(四):jieba库的使用及集合去重

Python⼆级考试程序题型(四):jieba库的使⽤及集合去重
问题:
有⽂件,内容如下:
⼈⼯智能的定义可以分为两部分,即“⼈⼯”和“智能”。“⼈⼯”⽐较好理解,争议性也不⼤。有时我们会要考虑什么是⼈⼒所能及制造的,或者⼈⾃⾝的智能程度有没有⾼关于什么是“智能”,就问题多多了。这涉及到其它诸如意识(CONSCIOUSNESS)、⾃我(SELF)、思维(MIND)(包括⽆意识的思维(UNCONSCIOUS_MIND)⼈⼯智能在计算机领域内,得到了愈加⼴泛的重视。并在机器⼈,经济政治决策,控制系统,仿真系统中得到应⽤。
尼尔逊教授对⼈⼯智能下了这样⼀个定义:“⼈⼯智能是关于知识的学科――怎样表⽰知识以及怎样获得知识并使⽤知识的科学。”⽽另⼀个美国⿇省理⼯学院的温斯顿⼈⼯智能是计算机学科的⼀个分⽀,⼆⼗世纪七⼗年代以来被称为世界三⼤尖端技术之⼀(空间技术、能源技术、⼈⼯智能)。也被认为是⼆⼗⼀世纪三⼤尖端技术(⼈⼯智能是研究使计算机来模拟⼈的某些思维过程和智能⾏为(如学习、推理、思考、规划等)的学科,主要包括计算机实现智能的原理、制造类似于⼈脑智能的计算
利⽤jieba库实现中⽂分词。对分词后的列表进⾏去重处理,然后将分词结果中字符数⼤于等于3的词语写⼊到⽂件⽂件中。
⽂件中每⼀⾏是分词后的⼀个词语。形式如下所⽰:
⼆⼗⼀
美国⿇省理⼯学院
语⾔学
形象思维
突破性
总的来说
思维科学
软硬件
尼尔逊
温斯顿
机器⼈
......
解答:
import jieba    #导⼊结巴库
p = open('','r',encoding = 'utf-8')      #打开⽂件 'r'
q = open('','w',encoding = 'utf-8')      #写⼊⽂件 'w'
ls = []                        #建⽴空列表
for txt adlines():
words = jieba.lcut(txt)    #jieba 精确模式分词
for word in words:
ls.append(word)        #分词结果保存在列表中
ls.sort()    #列表排序
s = set(ls)  #将列表转化为集合,去重
ls = list(s)  #集合重新变成列表
for i in ls :
if len(i) >=3:      #遍历列表,输出字符长度⼤于等于3的,写⼊⽂件
q.write(i)
q.write('\n')
p.close()
q.close()
输出:
⾃然科学
是因为
⼒所能及
⽆意识
能源技术
社会科学
阿尼姆斯阿UNCONSCIOUS
尼尔逊
思维科学
研究课题
发挥作⽤
总的来说
⾼层次
争议性
有没有
CONSCIOUSNESS
互相促进
⼈⼯智能
突破性
尖端技术
⼴泛应⽤
MIND
逻辑思维
计算机
控制系统
高温密封材料SELF
基础科学
机器⼈
模糊数学
美国⿇省理⼯学院
计算机科学
语⾔学
温斯顿
七⼗年代
基因⼯程
软硬件
三⼗年
计算机领域
⼆⼗世纪
形象思维
思维过程
⼆⼗⼀
问题:
键盘输⼊⼀句话,⽤jieba 分词后,将切分的词组按照在原话中的逆序输出到屏幕上,词组中间没有空格。⽰例如下:输⼊:我爱妈妈
输出:妈妈爱我
解答:
import jieba
str = input()
ls = jieba.lcut(str)
##print(ls)
for i in ls[::-1]:          #逆序输出
print(i,end = '')        # end定义输出后词组间⽆空格。默认换⾏
#⽅法⼆:
import jieba
机械手臂论文str = input()
电控可调衰减器 evoals = jieba.lcut(str)
new_ls = []
for i in range(len(ls)):
a = ls.pop()
new_ls.append(a)大气稳定度分级
for i in new_ls:
print(i,end = '')
输出:
总结:
公证程序规则1、结巴分词有三种模式:精确模式、全模式、搜索引擎模式。
jieba.lcut(s):精确模式,返回⼀个列表类型的分词结果。
jieba.lcut(s,cut_all=True):全模式,返回⼀个列表类型的分词结果,存在冗余。jieba.lcut_for_search(s):搜索引擎模式,返回⼀个列表类型的分词结果,存在冗余。
例如:
import jieba
s = '我是中国⼈,我爱我的祖国。'
print(jieba.lcut(s))
print(jieba.lcut(s,cut_all=True))
print(jieba.lcut_for_search(s))
输出为:
['我', '是', '中国', '⼈', ',', '我', '爱', '我', '的', '祖国', '。']
['我', '是', '中国', '国⼈', ',', '我', '爱', '我', '的', '祖国', '。']
['我', '是', '中国', '⼈', ',', '我', '爱', '我', '的', '祖国', '。']
2、集合set()可实现数据去重功能
3、读⽂件是'r',⽂件存在读取,⽂件不存在出错;
写⽂件是'w',⽂件存在清空重新写⼊,⽂件不存在新建⽂件。
4、列表逆序输出⽅法:ls[::-1]
或⽤列表.pop()和.append()⽅法

本文发布于:2024-09-25 00:40:15,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/36454.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:智能   列表   分词   计算机   输出   结果   知识   模式
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议