python的交集、並集、差集


①差集

方法一:

if __name__ == '__main__':
a_list = [{'a' : 1}, {'b' : 2}, {'c' : 3}, {'d' : 4}, {'e' : 5}]
b_list = [{'a' : 1}, {'b' : 2}]
ret_list = []
for item in a_list:
if item not in b_list:
ret_list.append(item)
for item in b_list:
if item not in a_list:
ret_list.append(item)
print(ret_list)
執行結果:

 

方法二:

if __name__ == '__main__':
a_list = [{'a' : 1}, {'b' : 2}, {'c' : 3}, {'d' : 4}, {'e' : 5}]
b_list = [{'a' : 1}, {'b' : 2}]
ret_list = [item for item in a_list if item not in b_list] + [item for item in b_list if item not in a_list]
print(ret_list)
執行結果:

 


方法三:

if __name__ == '__main__':
a_list = [1, 2, 3, 4, 5]
b_list = [1, 4, 5]
ret_list = list(set(a_list)^set(b_list))
print(ret_list)
執行結果:

注:此方法中,兩個list中的元素不能為字典

 

②並集

if __name__ == '__main__':
a_list = [1, 2, 3, 4, 5]
b_list = [1, 4, 5]
ret_list = list(set(a_list).union(set(b_list)))
print(ret_list)
執行結果:

注:此方法中,兩個list中的元素不能為字典

 

③交集

if __name__ == '__main__':
a_list = [1, 2, 3, 4, 5]
b_list = [1, 4, 5]
ret_list = list((set(a_list).union(set(b_list)))^(set(a_list)^set(b_list)))
print(ret_list)
執行結果:

注:此方法中,兩個list中的元素不能為字典
---------------------
作者:cuckoo5
來源:CSDN
原文:https://blog.csdn.net/wudj810818/article/details/50403424
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

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



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