python如何獲取list字典的交集、并集和差集
更新時間:2024年09月10日 10:18:59 作者:羊羊豬
在Python編程中,對列表(list)進(jìn)行去重可通過set運算符法和set函數(shù)法實現(xiàn),多個列表的交、并、差集也能簡便操作,此外,字典(dict)的鍵(keys)和鍵值對(items)的獲取也是常用技巧,這些操作方法不僅提高了代碼的簡潔性,也增強(qiáng)了數(shù)據(jù)處理的效率
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函數(shù)法
# 求交集 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()
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用Python構(gòu)造hive insert語句說明
這篇文章主要介紹了使用Python構(gòu)造hive insert語句說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-06-06Pytorch 統(tǒng)計模型參數(shù)量的操作 param.numel()
這篇文章主要介紹了Pytorch 統(tǒng)計模型參數(shù)量的操作 param.numel(),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-05-05