文件读取并对内容进行分析

任务描述:文件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)

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

这篇博客有讲,请参考
https://blog.csdn.net/u011027547/article/details/124457408