python 判断两个列表中相同和不同的元素【杭州多测师】【多测师_王sir】

背景:

在做接口自动化时,通常会判断接口返回中的数据信息,与数据库中返回的数据信息是否一致,比如:将接口返回信息的用户姓名存

放到一个列表中,将数据库返回的用户姓名存放到另一个列表中,这时需要判断两个列表是否一致,如果不一致,将不同的元素信息分

别回写到excel文件中,可以一目了然的看出哪些信息返回的不正确。

下列代码中直接存放列表信息,比较如下:

list1 = ['张三', '李四', '王五', '老二']
#数据库返回值
list2 = ['张三', '李四', '老二', '王七']

a = [x for x in list1 if x in list2] #两个列表中都存在
b = [y for y in (list1 + list2) if y not in a] #两个列表中的不同元素

print('a的值为:',a)
print('b的值为:',b)

c = [x for x in list1 if x not in list2]  #在list1列表中而不在list2列表中
d = [y for y in list2 if y not in list1]  #在list2列表中而不在list1列表中
print('c的值为:',c)
print('d的值为:',d)

 

 

 

def foo():
    '''
    有无序且不重复A B求A B同时存在的元素举例
    :return:
    '''
    list1=[1,2,3]
    list2=[1,3,4]
    a = [x for x in list1 if x in list2]  # 两个列表中都存在
    print(a)

foo()
#运行结果:[1,3]

 

posted @ 2021-03-12 14:55  多测师_王sir  阅读(447)  评论(0编辑  收藏  举报