python 判斷兩個列表中相同和不同的元素


背景:

在做接口自動化時,通常會判斷接口返回中的數據信息,與數據庫中返回的數據信息是否一致,比如:將接口返回信息的用戶姓名存放到一個列表中,將數據庫返回的用戶姓名存放到另一個列表中,這時需要判斷兩個列表是否一致,如果不一致,將不同的元素信息分別回寫到excel文件中,可以一目了然的看出哪些信息返回的不正確。

下列代碼中直接存放列表信息,比較如下:

 1 #接口返回值
 2 list1 = ['張三', '李四', '王五', '老二']
 3 #數據庫返回值
 4 list2 = ['張三', '李四', '老二', '王七']
 5 
 6 a = [x for x in list1 if x in list2] #兩個列表中都存在
 7 b = [y for y in (list1 + list2) if y not in a] #兩個列表中的不同元素
 8 
 9 print('a的值為:',a)
10 print('b的值為:',b)
11 
12 c = [x for x in list1 if x not in list2]  #在list1列表中而不在list2列表中
13 d = [y for y in list2 if y not in list1]  #在list2列表中而不在list1列表中
14 print('c的值為:',c)
15 print('d的值為:',d)

運行結果為:

a的值為: ['張三', '李四', '老二']
b的值為: ['王五', '王七']
c的值為: ['王五']
d的值為: ['王七']


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM