任务描述:文件alumni.txt和soft.txt为按照不同评价体系给出的国内大学前100名排行,对比两个排行榜前10名的学校的上榜情况,分析不同排行榜排名的差异。请读取文件中的数据,完成以下任务:(1)输出在alumni.txt和soft.txt榜单中均排名前10名的大学(2)分别输出在alumni.txt和soft.txt榜单中排名前10名的大学(3)输出在alumni.txt中前10名但未出现在soft.txt榜单中前10名的大学(4)输出没有同时出现在alumni.txt前10名和soft.txt榜单中前10名的大学
with open('alumni.txt','r') as f1:
data1=f1.read()
with open('soft.txt','r') as f2:
data2=f2.read()
data1=data1.split('\n')
data2=data2.split('\n')
lst1=data1[0:10]
lst2=data2[0:10]
res1=[i for i in lst1 if i in lst2]
res2=[i for i in lst1 if i not in lst2]
res3=[i for i in lst1 if i not in lst2]+[i for i in lst2 if i not in lst1]
print("(1)\n",res1)
print("(2)\n",lst1)
print("(2)\n",lst2)
print("(3)\n",res2)
print("(4)\n",res3)
读取两个文件中前10行的数据,用set集合求并集,差集等
你题目的解答代码如下:
with open(r'alumni.txt', 'r', encoding='utf-8') as fileObj:
alumni = set([x.strip() for x in fileObj.readlines()][:10])
with open(r'soft.txt', 'r', encoding='utf-8') as fileObj:
soft = set([x.strip() for x in fileObj.readlines()][:10])
print("在alumni.txt和soft.txt榜单中均排名前10名的大学:")
print(alumni & soft)
print("在alumni.txt榜单中排名前10名的大学:")
print(alumni)
print("在soft.txt榜单中排名前10名的大学:")
print(soft)
print("在alumni.txt中前10名但未出现在soft.txt榜单中前10名的大学:")
print(alumni - soft)
print("没有同时出现在alumni.txt前10名和soft.txt榜单中前10名的大学:")
print(alumni ^ soft)
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
这篇博客有讲,请参考
https://blog.csdn.net/u011027547/article/details/124457408