python二级考试题 给两串字符串如下,找到2串字符串中相同的词组,和不同的词组并输出。
a=“可以实现所有桌面应用程序的自动化,包括ERP、浏览器、CRM、微信、钉钉或你日常使用的任何其他应用程序;支持任何网页的自动化,如网页JS脚本,数据提取,数据抓取、Web表单填写、网页操作,API调用等,轻松实现自动化的Web任务”
b=“可以实现任何桌面软件、Web程序的自动化,高效快捷,节省一些重复性的劳动时间”
结果如下:
共有的词组是:可以,实现,桌面,自动化,任何,Web
a字符串独有的词组是:所有,应用程序,包括,ERP,浏览器,CRM,微信,日常,使用,其他,支持,网页,JS,脚本,数据,提取,抓取,表单,填写,操作,API,调用,轻松,任务
b字符串独有的词组是:软件,程序,高效快捷,节省,一些,重复性,劳动,时间
import jieba
ls1=[]
ls2=[]
sharedList=[] #共有元素列表
a_uniqueList=[] #a字符串独有的词组列表
b_uniqueList=[] #b字符串独有的词组列表
n=0
z=0
a="可以实现所有桌面应用程序的自动化,包括ERP、浏览器、CRM、微信、钉钉或你日常使用的任何其他应用程序;支持任何网页的自动化,如网页JS脚本,数据提取,数据抓取、Web表单填写、网页操作,API调用等,轻松实现自动化的Web任务"
b="可以实现任何桌面软件、Web程序的自动化,高效快捷,节省一些重复性的劳动时间"
ls1=jieba.lcut(a)
ls2=jieba.lcut(b)
for i in ls1:
n=0
for j in ls2:
if j==i and len(i)>=2 and len(j)>=2:
n +=1
if j not in sharedList:
sharedList.append(j)
if n==0:
if i not in a_uniqueList and len(i)>=2:
a_uniqueList.append(i)
for i in ls2:
z=0
for j in ls1:
if j == i and len(i) >= 2 and len(j) >= 2:
z +=1
if z ==0:
if i not in b_uniqueList and len(i) >= 2:
b_uniqueList.append(i)
print("{}:{}".format("共有的词组是",",".join(sharedList)))
print("{}:{}".format("a字符串独有的词组是",",".join(a_uniqueList)))
print("{}:{}".format("b字符串独有的词组是",",".join(b_uniqueList)))