1. 基础版-检查两个列表是否含有同样的值(同一值在不同列表里的位置可能不同),并将不同的内容分别输出编号和值;
a=[6,5,4,3,2,1]
b=[1,2,9]
for i in range(0,len(a)):
if a[i] not in b:
print("a有b没有","位置",i,"值",a[i])
print("---------")
for i in range(0,len(b)):
if b[i] not in a:
print("b有a没有","位置",i,"值",b[i])
程序运行结果:
a有b没有 位置 0 值 6
a有b没有 位置 1 值 5
a有b没有 位置 2 值 4
a有b没有 位置 3 值 3
---------
b有a没有 位置 2 值 9
2. 进阶版-比较两个txt文本是否一样,并将不同点输出;
有两个txt,分别为“喜欢舞蹈.txt", "喜欢音乐.txt";
代码实现如下:
'''比较两个文本内容'''
f_new=open('喜欢音乐.txt','r')
a=f_new.readlines()
f_old=open('喜欢舞蹈.txt','r') #以读取模式打开txt,python自带的读取文件方式
b=f_old.readlines() #读取txt里所有行,并存储在变量b中
for i in range(0,len(a)):
if a[i]!='\n': #readlines会将换行读取成'\n'存储下来,因此比较时略过'\n'
if a[i] not in b:
print("只喜欢音乐不喜欢舞蹈",i,a[i])
print('--------------')
for i in range(0,len(b)):
if b[i] !='/n':
if b[i] not in a:
print("只喜欢舞蹈不喜欢音乐",i,b[i])
程序运行结果为:
只喜欢音乐不喜欢舞蹈 0 Tom
只喜欢音乐不喜欢舞蹈 1 Amy
只喜欢音乐不喜欢舞蹈 2 Tony
--------------
只喜欢舞蹈不喜欢音乐 2 Jenny
只喜欢舞蹈不喜欢音乐 3 Steve
只喜欢舞蹈不喜欢音乐 4 Ali
注意,比较txt时,使用python的f.readlines时会将每一行读取成列表里每一个值,包括换行符‘\n'。假如两个txt都有相同的一行字符,但一个有换行符,一个没有换行符,此时比较时会认为这两行不一样;这是肉眼看不出来的;此时可以用print输出readlines()看一下;
3.比较excel....TBD.