python如何獲取list字典的交集、并集和差集
更新時間:2024年09月10日 10:18:59 作者:羊羊豬
在Python編程中,對列表(list)進行去重可通過set運算符法和set函數法實現,多個列表的交、并、差集也能簡便操作,此外,字典(dict)的鍵(keys)和鍵值對(items)的獲取也是常用技巧,這些操作方法不僅提高了代碼的簡潔性,也增強了數據處理的效率
1. List
Example
a = list([1, 3, 5, 2, 10]) b = list([1, 4, 5, 10, 20])
1.1 set運算符法
# 求交集 list(set(a) & set(b)) # [1, 10, 5] # 求并集 list(set(a) | set(b)) # [1, 2, 3, 4, 5, 10, 20] # 求差集 # a有而b沒有 list(set(a) - set(b)) # [2, 3] # b有而a沒有 list(set(b) - set(a)) # [4, 20] # 對稱差集 list(set(a) ^ set(b)) # [2, 3, 4, 20]
1.2 set函數法
# 求交集 list(set(a).intersection(b)) # [1, 10, 5] # 求并集 list(set(a).union(b)) # [1, 2, 3, 4, 5, 10, 20] # 求差集 # a有而b沒有 list(set(a).difference(set(b))) # [2, 3] # b有而a沒有 list(set(b).difference(set(a))) # [4, 20] # 對稱差集 list(set(a).symmetric_difference(set(b))) # [2, 3, 4, 20]
1.3 多個list的交并差集
a = list([1, 3, 5, 2, 10]) b = list([1, 4, 5, 10, 20]) c = list([2, 4, 1, 5, 7, 10]) # 求交集 list(set(a).intersection(b, c)) # [1, 10, 5] # 求并集 list(set(a).union(b)) # [1, 2, 3, 4, 5, 20, 7, 10] # a中獨有而b, c中沒有 list(set(a).difference(b, c)) # [3]
2. 字典 dict
Example
a = { 'x' : 1, 'y' : 2, 'z' : 3 } b = { 'w' : 9, 'x' : 5, 'y' : 2 }
2.1 keys
# 交集 a.keys() & b.keys() # 并集 a.keys() | b.keys() # 差集 a.keys() - b.keys() b.keys() - a.keys()
2.2 items (keys, values)
# 交集 a.items() & b.items() # 并集 a.items() | b.items() # 差集 a.items() - b.items() b.items() - a.items()
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Pytorch 統(tǒng)計模型參數量的操作 param.numel()
這篇文章主要介紹了Pytorch 統(tǒng)計模型參數量的操作 param.numel(),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05